본문 바로가기

분류 전체보기37

[면접 꿀팁] Probability와 Likelihood의 차이점 안녕하세요, 오늘은 머신러닝을 한다면 한번쯤은 들어보셨을 Probability와 Likelihood에 대해 비교하며 설명해드릴까 합니다. 너무 중요한 개념인만큼 정확히 이해해놓는 노력이 필요할 것 같습니다. 그럼 개념과 어떤 차이점이 있는지 리뷰해보겠습니다. Probability (확률) Probability는 특정 사건이 일어날 확률 확률은 어떤 사전 지식이나 가정을 바탕으로 어떤 사건이 발생할 가능성을 측정하는 값입니다. 이 값은 0과 1사이의 수로, 0은 불가능함을, 1은 확실함을 나타냅니다. 설명이 조금 직관적이지 않나요? 몇가지 예를 들면 금방 이해하실 것 같습니다. 동전을 던졌을 때 앞면이 나올 확률은 1/2이다. 주사위를 던졌을 때 3이 나올 확률은 1/6이다. 로또 1등에 당첨될 확률은 1.. 2023. 4. 11.
[논문 리뷰] Segment Anything 설명 (코드 살짝 포함) 안녕하세요, 오늘은 따끈따끈한 Meta의 논문 - Segment Anything에 대해서 소개하고자 합니다! 데모만 하고도 너무 두근거렸는데 그 이유는 제가 회사에서 하는 일과 관련이 매우 높기 때문입니다. 제가 직접 개발했다면 얼마나 좋았을까 하는 마음도 들지만 이렇게 리뷰라도 할 수 있어 참 행복합니다 논문 링크: Segment Anything 깃허브 링크: Segment Anything Github 그럼 리뷰 시작하겠습니다 Introduction 다들 "Foundation models"이라고 들어보셨나요? 분야를 막론하고 거대한 데이터셋으로 Pre-training 시킨 거대한 모델을 foundation model이라고 부릅니다. 이 모델들은 해당 task에 대해 엄청난 generalizability.. 2023. 4. 9.
[기술 잡담] 니어바이쉐어(Nearby Share) 사용법 - 핸드폰과 컴퓨터 파일 전송 방법 안드로이드 유저분들 안녕하세요, 윈도우 쓰시는 분들은 핸드폰과 컴퓨터 사이에 파일 전송을 어떻게 하시나요?? 저는 보통 카카오톡이나 이메일을 사용하는데 아주 불편하다고는 말하기 어렵지만 파일을 많이 전송하거나 대용량 파일을 주고 받을 때는 늘 불편함을 호소했습니다... 아이폰 유저분들은 에어드랍이라는 훌륭한 파일 전송 수단이 있지만 안드로이드(주로 갤럭시)를 사용하시는 분들은 아마 저와 같은 불편함을 한번쯤 느끼셨을 것 같습니다. 혹시 삼성 노트북을 쓰신다면 퀵쉐어가 있겠지만 삼성 생태계에서만 사는 분들이 많지는 않을 것 같습니다. 그래서 답답한 여러분들을 위해 구글에서 친히 니어바이쉐어(Nearby Share) 베타 서비스를 출시했습니다!! 지금부터 어떤 준비물이 있는지, 어떻게 쓰는지 차근차근 설명해.. 2023. 4. 7.
[일상 잡담] AI 커리어를 이어나간다는 것 안녕하세요, 오늘은 AI 연구? 개발? 기획? 아무튼 AI 전문가로서 커리어를 이어나가는 것에 대한 저의 짧은 생각을 써보려 합니다. 그야말로 AI가 세상을 놀라게 하는 대국면을 맞았습니다. ChatGPT, Diffusion model과 같은 생성 AI들이 초거대 데이터와 초거대 모델을 양손에 쥐고 득세하고 있습니다. 알파고는 정말 센세이셔널했지만 알파고의 성공이 그늘에 가려질 만큼 더욱 혁신적인 인공지능이 대중들 앞에 선보여졌습니다. 알파고 이외에는 인공지능에 별다른 관심도 없던 저희 가족들도 ChatGPT를 종종 언급하게 됐고, Stable Diffusion이나 Midjourney가 그린 그림을 보여드리면 이게 진짜인지 가짜인지 분간이 안 간다며 신기해하고 있습니다. 진정 바야흐로 A(G)I의 시대입.. 2023. 4. 6.
[PyTorch] nn.Module에 대한 이해 안녕하세요, 혹시 PyTorch를 쓰시다 보면 습관적으로 nn.Module을 상속 받고 시작하지 않으시나요? 오늘은 타성에 젖은 상속 말고, nn.Module이 뭔지 이해하고 써보면 좋겠습니다. 설명해보겠습니다. nn.Module 정의 먼저 공식 Docs에 있는 torch.nn.Module부터 읽어보시죠. 한마디로 모든 모델의 근간이 되는 기본 클래스입니다. 우리가 직접 정의하는 모든 모델은 이 녀석을 상속 받고 시작해야만 forward, backward 등을 편하게 수행할 수 있다는 소리입니다. import torch.nn as nn import torch.nn.functional as F class Model(nn.Module): # 여기서 nn.Module을 상속 받는다 def __init__(se.. 2023. 4. 3.
[면접 꿀팁] Python에서 메모리를 어떻게 관리하는가? 안녕하세요, 요즘은 인공지능을 다루는 분들이 늘어나고 또한 금융이나 비개발자분들께서도 배우기 쉬운 언어로 파이썬을 선택함에 따라 파이썬은 너무나 대중적인 언어가 되었습니다. 특히 전문적으로 개발하시는 분들은 프로그램의 메모리 관리에 대해 한번쯤은 문제를 겪으셨을텐데요. 오늘은 파이썬에서 가비지 콜렉션(Garbage Collection)이라는 개념에 대해 간단히 다뤄보겠습니다. Python의 메모리 관리 먼저, 파이썬은 자동으로 메모리를 관리하는 고급 프로그래밍 언어입니다. 이것은 개발자가 직접 메모리 할당 및 해제를 관리하지 않고도 메모리 관리를 자동으로 처리할 수 있다는 것을 의미합니다. 파이썬에서 메모리 관리는 참조 계수(reference counting) 기반으로 이루어집니다. 이는 객체가 생성될 .. 2023. 4. 2.