분류 전체보기
-
홋카이도는 내가 가장 좋아하는 여행지이다. 애정이 가는 이유는 셀 수 없이 많지만 그중에서도 하나를 꼽자면 바로 '북방의 향기'이다. 역동적인 힘을 숨기는 거대한 화산과 드넓고 풍요로운 대지, 그리고 아시아에서 느낄 수 있는 유럽의 분위기가 내 심장을 들끓게 한다. 또한 홋카이도에서 겨울하면 빼놓을 수 없는 눈도 애정이 가는 이유 중 하나이다. 눈으로 덮인 풍경을 바라보는 것도 좋고, 그 눈 쌓인 땅을 뽀득뽀득 밟으면서 가는 기분도 정말 좋다. 그래서 영화 '러브 레터'도 수십 번을 봤지만, 매번 볼 때마다 설레고 이 영화를 그토록 좋아하는 결정적인 이유도 눈이 내게 주는 분위기가 아닌가 싶다. 2023년 1월 9일부터 14일까지 5박 6일로 친구와 함께 도쿄를 경유하여 홋카이도 여행을 갔다. 얼마 만에..
홋카이도 겨울 자유여행 - 5박 6일 여행 계획의 설렘홋카이도는 내가 가장 좋아하는 여행지이다. 애정이 가는 이유는 셀 수 없이 많지만 그중에서도 하나를 꼽자면 바로 '북방의 향기'이다. 역동적인 힘을 숨기는 거대한 화산과 드넓고 풍요로운 대지, 그리고 아시아에서 느낄 수 있는 유럽의 분위기가 내 심장을 들끓게 한다. 또한 홋카이도에서 겨울하면 빼놓을 수 없는 눈도 애정이 가는 이유 중 하나이다. 눈으로 덮인 풍경을 바라보는 것도 좋고, 그 눈 쌓인 땅을 뽀득뽀득 밟으면서 가는 기분도 정말 좋다. 그래서 영화 '러브 레터'도 수십 번을 봤지만, 매번 볼 때마다 설레고 이 영화를 그토록 좋아하는 결정적인 이유도 눈이 내게 주는 분위기가 아닌가 싶다. 2023년 1월 9일부터 14일까지 5박 6일로 친구와 함께 도쿄를 경유하여 홋카이도 여행을 갔다. 얼마 만에..
2023.01.16 -
들어가기 전에 MLflow가 등장하기 이전에는 사람들이 각자 자신의 코드를 jupyter notebook에서 작성하여 머신러닝 모델을 학습할 때 사용한 파라미터와 metric을 따로 기록했다. 학습하며 생긴 weight file을 저장하여 coworker에게 공유하기도 했으며, weight file 이름으로 모델 버전을 작성하거나 아예 모델 버전을 지정하지 않기도 했다. 그러나 개인 컴퓨터 등을 사용하다가 메모리 초과(Memory Exceed) 오류가 발생할 수도 있고, 실험을 추적하기 어렵거나 코드를 재현하기 어렵다는 단점이 있었다. 또한 모델을 패키징하고 배포하는 방법이 어려우며, 이를 관리하기 위한 중앙 저장소가 없다는 것도 큰 문제였다. 이러한 문제를 해결할 수 있는 관리 플랫폼 중 하나로서 ML..
ML 실험을 위한 관리 플랫폼인 MLflow들어가기 전에 MLflow가 등장하기 이전에는 사람들이 각자 자신의 코드를 jupyter notebook에서 작성하여 머신러닝 모델을 학습할 때 사용한 파라미터와 metric을 따로 기록했다. 학습하며 생긴 weight file을 저장하여 coworker에게 공유하기도 했으며, weight file 이름으로 모델 버전을 작성하거나 아예 모델 버전을 지정하지 않기도 했다. 그러나 개인 컴퓨터 등을 사용하다가 메모리 초과(Memory Exceed) 오류가 발생할 수도 있고, 실험을 추적하기 어렵거나 코드를 재현하기 어렵다는 단점이 있었다. 또한 모델을 패키징하고 배포하는 방법이 어려우며, 이를 관리하기 위한 중앙 저장소가 없다는 것도 큰 문제였다. 이러한 문제를 해결할 수 있는 관리 플랫폼 중 하나로서 ML..
2023.01.04 -
들어가기 전에 이제까지 딥 러닝 모델은 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer 등 다양한 신경망 모델 종류로 발전해 왔다. 그렇지만 복잡한 구조 또는 관계를 지니는 문제를 임베딩하는 데 한계가 있어왔고, 이러한 문제를 해결할 수 있는 모델로서 그래프(Graph)를 사용한 신경망 모델이 제안된다. 이번 글에서는 그래프를 사용한 딥 러닝 모델인 GNN의 정의와 의의에 관해 살펴보고, GNN 모델을 해석하는 관점에서 제시된 여러 종류의 GNN 모델에 관해 살펴보자. 그래프(Graph)의 정의와 사용 그래프는 정보과학을 공부하면 항상 빼 놓을 수 없는 중요한 자료구조이다. 프로그래밍 문제를 푼 사람들이라면 알겠지만 ..
GNN(Graph Neural Network)의 정의와 특징 그리고 추천시스템에서의 GNN 계열 모델들어가기 전에 이제까지 딥 러닝 모델은 CNN(Convolution Neural Network), RNN(Recurrent Neural Network), Transformer 등 다양한 신경망 모델 종류로 발전해 왔다. 그렇지만 복잡한 구조 또는 관계를 지니는 문제를 임베딩하는 데 한계가 있어왔고, 이러한 문제를 해결할 수 있는 모델로서 그래프(Graph)를 사용한 신경망 모델이 제안된다. 이번 글에서는 그래프를 사용한 딥 러닝 모델인 GNN의 정의와 의의에 관해 살펴보고, GNN 모델을 해석하는 관점에서 제시된 여러 종류의 GNN 모델에 관해 살펴보자. 그래프(Graph)의 정의와 사용 그래프는 정보과학을 공부하면 항상 빼 놓을 수 없는 중요한 자료구조이다. 프로그래밍 문제를 푼 사람들이라면 알겠지만 ..
2023.01.02 -
들어가기 전에 이 세상의 많은 일들은 확률적인 경우가 많다. 그 상황에서 우리는 자신의 목적에 가장 부합하면서 확률적으로 발생 가능성이 높거나 낮은 것을 고려하여 최선의 선택을 하려고 한다. 그러면 그 확률이란 것에 주목해야 할 필요가 있지 않을까? 이번 시리즈 글에서는 확률에 관한 정의와 이와 관련한 대표적인 정리들을 소개하고자 한다. 그전에 확률과 관련한 정의를 알아보고, 확률과 명제가 어떠한 관계가 있는지 알아보자. 불확실성과 결정 우리는 일상 생활에서 여러 문제점들을 맞닥뜨리고 이를 해결하고자 노력한다. 꼭 중요한 시험 문제를 풀어서 맞추는 것 뿐만이 아니라 출근해야 하는데 늦게 기상을 해서 어떠한 교통 수단을 이용해야 할지, 어떤 점심 메뉴를 선택해야 좀 더 맛있는 음식을 저렴하게 먹을 수 있는..
[인공지능 기초] Uncertainty (1) - 확률적인 추정을 위한 확률과 사건, 그리고 명제들어가기 전에 이 세상의 많은 일들은 확률적인 경우가 많다. 그 상황에서 우리는 자신의 목적에 가장 부합하면서 확률적으로 발생 가능성이 높거나 낮은 것을 고려하여 최선의 선택을 하려고 한다. 그러면 그 확률이란 것에 주목해야 할 필요가 있지 않을까? 이번 시리즈 글에서는 확률에 관한 정의와 이와 관련한 대표적인 정리들을 소개하고자 한다. 그전에 확률과 관련한 정의를 알아보고, 확률과 명제가 어떠한 관계가 있는지 알아보자. 불확실성과 결정 우리는 일상 생활에서 여러 문제점들을 맞닥뜨리고 이를 해결하고자 노력한다. 꼭 중요한 시험 문제를 풀어서 맞추는 것 뿐만이 아니라 출근해야 하는데 늦게 기상을 해서 어떠한 교통 수단을 이용해야 할지, 어떤 점심 메뉴를 선택해야 좀 더 맛있는 음식을 저렴하게 먹을 수 있는..
2022.12.30 -
그동안 '일상' 카테고리를 만들어 놓고 정작 일상에 관한 아무런 이야기를 올리지 않았다. 사실 내 일상에 관심을 가져 줄 사람도 없고, 일상에 이런저런 글을 남기기에는 시간이 부족하다는 생각을 했었다. 그런데 지금 내 자신이 겪고 있는 문제가 뭐고 어떤 고민을 하고 있는지, 앞으로 어떠한 목표롤 설정하여 차근차근 준비해야 할지 그에 관한 구체적인 내용을 어딘가에는 적어서 자주 환기시킬 필요가 있다는 생각이 들었다. 또한 제 3자가 나와 같은 고민을 하고 있고 같은 길을 걸어가고 있다면, 얼떨결에 잘못 들어왔다가 조금이나마 나의 허심탄회한 뻘글을 보고 공감할 수도 있겠다는 생각도 어렴풋이 한다. 바쁜 6학기 5학기에 군 휴학을 하고 복학하기 전까지는 '남은 3학기 정도야 쉽게 끝낼 수 있겠지'라고 생각했었..
2022년을 정리하는 이런저런 이야기와 앞으로의 블로그 글 게시그동안 '일상' 카테고리를 만들어 놓고 정작 일상에 관한 아무런 이야기를 올리지 않았다. 사실 내 일상에 관심을 가져 줄 사람도 없고, 일상에 이런저런 글을 남기기에는 시간이 부족하다는 생각을 했었다. 그런데 지금 내 자신이 겪고 있는 문제가 뭐고 어떤 고민을 하고 있는지, 앞으로 어떠한 목표롤 설정하여 차근차근 준비해야 할지 그에 관한 구체적인 내용을 어딘가에는 적어서 자주 환기시킬 필요가 있다는 생각이 들었다. 또한 제 3자가 나와 같은 고민을 하고 있고 같은 길을 걸어가고 있다면, 얼떨결에 잘못 들어왔다가 조금이나마 나의 허심탄회한 뻘글을 보고 공감할 수도 있겠다는 생각도 어렴풋이 한다. 바쁜 6학기 5학기에 군 휴학을 하고 복학하기 전까지는 '남은 3학기 정도야 쉽게 끝낼 수 있겠지'라고 생각했었..
2022.11.27 -
macOS 빅 서(Big Sur) 이상 모두 가능합니다. 벤투라(Ventura)도 가능합니다. (2022-10-26 기준) macOS를 사용하면서 애플 기기간의 이음새 없는 연동성과 시각적인 유려함은 마음에 들었지만, 개인적으로 windows에서는 진작에 지원해주던 적지 않은 기능들을 macOS에서는 찾아볼 수 없는 점이 아쉽다. 특히 첫 부팅을 시작했을 때 뜨는 로그인 배경화면을 변경하는 기능은 시스템 설정에서 지원하지 않는다. 지원 안 하는 이유가 짐작가기는 하지만, 그래도 사용자가 자신이 원하는대로 인터페이스의 디자인을 소소하게 변경할 수 없어서 개인적인 아쉬움이 드는 건 어쩔 수 없나보다. 이처럼 이전에도 로그인 배경화면 변경은 지원을 안 했지만 몇 가지 방법이 있었는데, 2020년 11월에 빅 ..
macOS(맥 OS) 로그인 배경화면(잠금화면) 변경하는 방법macOS 빅 서(Big Sur) 이상 모두 가능합니다. 벤투라(Ventura)도 가능합니다. (2022-10-26 기준) macOS를 사용하면서 애플 기기간의 이음새 없는 연동성과 시각적인 유려함은 마음에 들었지만, 개인적으로 windows에서는 진작에 지원해주던 적지 않은 기능들을 macOS에서는 찾아볼 수 없는 점이 아쉽다. 특히 첫 부팅을 시작했을 때 뜨는 로그인 배경화면을 변경하는 기능은 시스템 설정에서 지원하지 않는다. 지원 안 하는 이유가 짐작가기는 하지만, 그래도 사용자가 자신이 원하는대로 인터페이스의 디자인을 소소하게 변경할 수 없어서 개인적인 아쉬움이 드는 건 어쩔 수 없나보다. 이처럼 이전에도 로그인 배경화면 변경은 지원을 안 했지만 몇 가지 방법이 있었는데, 2020년 11월에 빅 ..
2022.10.26 -
Adversarial Search Adversarial Search란? Adversarial search는 '적대적인'이라는 'adversarial'의 의미에서 유추할 수 있는 것처럼 둘 이상의 대상(multi-agent)이 서로 다른 목표를 달성하기 위해 적대적인 관계에서 경쟁하는 것이다. 다른 대상의 행동이 자신의 성공에 영향을 끼치므로 자신의 목표를 달성하기 위해 최선의 행동을 선택할 때 다른 대상이 선택할 가능성이 있는 행동을 모두 고려해야 한다. 우리가 일상에서 자주 하는 게임(game)이 바로 대표적인 adversarial search이며, 자신이 이기기 위해 다른 플레이어의 행동을 고려하여 가장 좋은 수를 선택하려고 한다. 이러한 맥락에서 adversarial search를 game sear..
[인공지능 기초] Adversarial Search - Minimax Search와 Alpha-beta PruningAdversarial Search Adversarial Search란? Adversarial search는 '적대적인'이라는 'adversarial'의 의미에서 유추할 수 있는 것처럼 둘 이상의 대상(multi-agent)이 서로 다른 목표를 달성하기 위해 적대적인 관계에서 경쟁하는 것이다. 다른 대상의 행동이 자신의 성공에 영향을 끼치므로 자신의 목표를 달성하기 위해 최선의 행동을 선택할 때 다른 대상이 선택할 가능성이 있는 행동을 모두 고려해야 한다. 우리가 일상에서 자주 하는 게임(game)이 바로 대표적인 adversarial search이며, 자신이 이기기 위해 다른 플레이어의 행동을 고려하여 가장 좋은 수를 선택하려고 한다. 이러한 맥락에서 adversarial search를 game sear..
2022.10.09 -
자신에게 할당받거나 또는 자신이 운영 중인 서버가 있는데, 이를 원격으로 접속하여 jupyter 환경을 이용하고 싶을 때 유용할 수 있다. 인터넷 환경이 갖춰진 곳에서 웹 브라우저만 있어도 본인이 알고 있는 비밀번호를 이용하면 서버의 jupyter를 이용할 수 있는 것. 이 글에서는 네이버 부스트캠프 AI Tech 활동에서 제공한 AI Stages의 서버를 이용하지만, AWS EC2, GCP 등 여러 클라우드 플랫폼의 서버에도 같은 방법으로 적용할 수 있다. 설정 과정 우선 서버에 터미널을 이용하여 ssh로 접속한다. which jupyter로 jupyter가 설치되어 있는지 확인하고, 설치되지 않았으면 pip install jupyter로 이를 설치한다. 이왕 설치하는 김에 뒤에서 필요할 Jupyter..
원격 서버에서 Jupyter Notebook 또는 Jupyter Lab을 실행하여 접속하기자신에게 할당받거나 또는 자신이 운영 중인 서버가 있는데, 이를 원격으로 접속하여 jupyter 환경을 이용하고 싶을 때 유용할 수 있다. 인터넷 환경이 갖춰진 곳에서 웹 브라우저만 있어도 본인이 알고 있는 비밀번호를 이용하면 서버의 jupyter를 이용할 수 있는 것. 이 글에서는 네이버 부스트캠프 AI Tech 활동에서 제공한 AI Stages의 서버를 이용하지만, AWS EC2, GCP 등 여러 클라우드 플랫폼의 서버에도 같은 방법으로 적용할 수 있다. 설정 과정 우선 서버에 터미널을 이용하여 ssh로 접속한다. which jupyter로 jupyter가 설치되어 있는지 확인하고, 설치되지 않았으면 pip install jupyter로 이를 설치한다. 이왕 설치하는 김에 뒤에서 필요할 Jupyter..
2022.10.08