AI
-
[cs231n] 3강 손실 함수와 최적화 (1/4, 멀티클래스 (multiclass) SVM)AI 2021. 1. 10. 21:42
3강에 오신 것을 환영합니다. 오늘은 손실 함수와 최적화에 대해서 이야기 할 겁니다. 2강을 돌아보면, 인식할 때의 챌린지들에 대해 얘기했고, 이 데이타 추진 아이디어들에 대해 연마했습니다. 이미지 분류에 대한 아이디어에 대해 얘기했는데, 왜 어려운지를 얘기했고, 컴퓨터가 보는 거대한 그리드 숫자와 우리가 보는 이미지 사이의 의미적 갭에 대해서도 얘기했습니다. 다양한 챌린지에 대해서도 얘기했죠. 조명, 형태 변화, 등등이 있었고, 비록 사람의 눈과 시각으론 너무나도 쉬운 거지만, 왜 이게 정말 정말 어려운 문제인지에 대해서 얘기했습니다. 또한 데이타 추진 마인드셋 전체에 대한 간단한 도입으로, kNN 분류기에 대해 얘기했죠. CIFAR 10 데이타셋에 대해 얘기했는데, 위 그림 왼쪽 위에 보이는 예를 볼..
-
[cs231n] 2강 이미지 분류 (4/4, 선형 분류기)AI 2021. 1. 6. 13:49
우리는 KNN이 머신러닝 알고리즘의 좋은 특징을 많이 가지고 있는 걸 봤죠. 그러나 실제로 그렇게 좋지는 않습니다. 이미지에 대해선 많이 안 쓰이죠. 다음으로 얘기하고 싶은 것은 선형 분류입니다. 선형 분류는 간단한 학습 알고리즘인데, 이건 엄청 중요합니다. 우리가 신경망 전체, 전체 합성곱 신경망을 만들도록 해 줍니다. 신경망으로 작업을 비유로 표현해 보면 우리는 이걸 레고 블록에 비유합니다. 여러분은 신경망의 여러 컴포넌트를 가지고 있을 거고 이 컴포넌트들을 서로 붙이죠. 이런 합성곱 신경망의 큰 탑을 쌓기 위해서요. 여러 형태의 딥러닝 어플리케이션에서 가장 기초적인 빌딩 블록 (building block)이 이 선형 분류기입니다. 선형 분류기가 어떻게 동작하는지 아는 게 중요한데, 전체 신경망에 꽤..
-
[cs231n] 2강 이미지 분류 (3/4, K-최근접 이웃/ K-Nearest Neighbors)AI 2021. 1. 5. 19:59
손가락처럼 튀어 나온 이런 것들이 이 알고리즘을 일반화하고 싶은 동기를 유발합니다. 그래서 나온 것이 K-최근접 이웃 알고리즘이죠. 하나의 최근접 이웃을 찾기 보다는, 약간 더 멋진 걸 하는데, 거리 메트릭에 따라 K개의 최근접 이웃을 찾아서 투표를 합니다. 이웃중에서요. 그 다음에 가장 많은 표를 가진 이웃이 예측값이 됩니다. 이걸 좀 더 복잡하게 하는 방법도 생각할 수 있죠. 거리에 웨이트를 주는 것 등을 생각할 수 있는데, 가장 간단한게 꽤 잘 됩니다. 그냥 최다 득표를 선택하면 됩니다. 여기 앞에서 본 것과 같은 점들의 집합이 있는데 K가 1인 분류기와, K가 3일때, K가 5일때가 있습니다. 3일때를 보면, 녹색 안에 있는 이상한 노란 점이 그 주변 영역을 노란색으로 만들지 않습니다. 가운데 녹..
-
[cs231n] 2강 이미지 분류 (2/4, 최근접 이웃 / nearest neighbors)AI 2021. 1. 4. 19:55
이미지 분류를 위한 API가 뭔지 생각해 보면, 파이썬으로 이런 메소드를 아마 작성할 겁니다. 이미지를 받아서 어떤 미친 마법을 부려서 고양이인지 개인지 아무것도 아닌지 레이블을 뱉어내는 거죠. 어떤 명확한 방법은 없습니다. 알고리즘 수업을 듣고 있는 거라면, 정렬하고, 컨벡스 헐 (Convex Hull) 계산하거나 RSA 암호화하거나 하는, 어떤 알고리즘을 작성할 수 있을 겁니다. 이걸 하기 위해서, 일어나야 하는 여러 단계를 나열하죠. 물체를 인식하기 위해서, 혹은 고양이나 이미지를 인식하기 위해서는 명확한 명시적 알고리즘이 없습니다. 이런 직관적인 감각을 만드는 혹은 어떻게 이런 객체를 인식할지에 대한 알고리즘은 없죠. 이게 챌린징한데, 만약 처음 프로그램밍하는 날, 이런 펑션을 써야 한다면 대부분..
-
[cs231n] 2강 이미지 분류 (1/4, 챌린지)AI 2021. 1. 4. 17:44
지난 시간엔 컴퓨터 비전이 무엇인지와 역사에 대해 배웠죠. 그리고 이 강좌 개요에 대해서도요. 오늘은 세부 사항들을 들여다 보겠습니다. 이 알고리즘이 어떻게 동작하는지에 대해서요. 첫 강의는 비전에 대한 빅 픽쳐였고, 오늘 강의의 대부분은 세부사항들을 볼 겁니다. 여러 다른 알고리즘에 대한 세부 메커니즘을 볼 건데, 오늘 알고리즘을 처음 배우는 날이라 흥분되네요. 우리는 파이썬 넘파이 튜토리얼을 써서 올렸습니다. 코스 웹사이트에요.넘파이는 효율적인 벡터화된 연산을 가능하게 해서 상당한 연산을 코드 몇줄로 하게 해줍니다. Numerical 컴퓨팅이나 머신러닝같은 것들은, 이 벡터화된 오퍼레이션으로 효율적으로 구현됩니다. - NumpyTutorial: cs231n.github.io/python-numpy-t..
-
[cs231n] 1강 시각 인식을 위한 합성곱 소개 (3/3, 강좌개요)AI 2021. 1. 1. 18:07
이 강좌는 이미지 분류 (image classification)에 초점을 맞춥니다.이미지넷 챌린지에서 좀 봤었죠. 알고리즘이 이미지를 보고 정해진 카테고리로 그 이미지를 분류하는 겁니다. 제한적이고 인공적인 셋업인 것 같지만, 꽤 일반적입니다. 다른 여러 세팅에서도 사용할 수 있습니다. 산업과 연구 등등에서요. 음식이나, 음식의 칼로리를 인식한다거나 예술 작품이나 제품을 인식할 수도 있고, 이미지 분류의 기본 도구가 굉장히 유용하고 많은 어플리케이션으로 사용될 수 있습니다. 다른 시각 인식 문제도 얘기할 건데요. 이미지 분류를 위해 만든 도구들 위에 만든 다른 시각 인식 문제들도 얘기할 겁니다. 바로, 물체 탐지와 이미지 캡셔닝입니다. 물체 탐지에서의 세팅은 좀 다릅니다. 개, 고양이 같은 것으로 이미지..
-
[cs231n] 1강 시각 인식을 위한 합성곱 소개 (2/3, 컴퓨터 비전 역사)AI 2021. 1. 1. 15:33
1강의 내용은 앞의 도입부를 제외하곤 2개의 주제로 되어 있습니다. 먼저 컴퓨터 비전이 오늘날까지 오게 된 역사를 알아봅시다. 예전에 동물들은 눈이 없었고, 음식이 지나가면 잡아 먹었습니다. 음식이 없으면 그냥 떠 다녔는데, 5억4천3백만년전 1천만년 동안 짧은 시간에 동물이 종이 많아 졌습니다. 몇개에서 수십만개로 늘었습니다. 왜그랬는지 몰랐습니다. 그러다 몇 년전 앤드류 파커라는 호주 동물학자가 자신이 발견한 화석 연구를 통해 믿을 만한 이론을 제시합니다. 5억4천만년전에 처음으로눈을 가진 동물이 나타납니다. 눈을 가지면서 활발한 삶을 살게 된 것입니다. 포식자가 먹이를 쫒아다니고, 먹이는 포식자를 피해다니면서 진화가 빨라진것입니다. 종으로서 살아남기 위해서요. 시각은 이후에 가장 큰 감각기관으로 발..
-
[cs231n] 1강 시각 인식을 위한 합성곱 소개 (1/3, 소개하기)AI 2020. 12. 31. 22:15
아이펠 과정을 들으면서, 개발자 경력을 가지고 있지만, 인공지능을 전혀 모르는 사람이 인공지능을 배우려고 할 때, 이 정도를 배우면 꽤 괜찮은 것 같다라는 생각이 든 것이 있었는데 바로 cs231n이었습니다. 아주 쉽지도 않고 꽤 챌린징하지만, 조금 노력하면 이해할 수 있을 것 같아 보였기 때문입니다. 그래서 나와 비슷한 상황에 있는 분들을 위해 정리해 보는 것이 어떨까하는 생각이 들었습니다. 또한 아이펠 과정을 배우면서는 플립 스쿨로 진행했는데, 사실 인공지능에 대해서 아는 바가 전혀 없는 상태로 참여해서 도대체 이 지점에서 왜 이런 이야기가 나오는지 처음엔 이해가 안되는 부분이 많았습니다. 그래서, 아이펠 과정을 다 마치고 나면 다시 한번 이 강좌를 천천히 들여다 보면서 이해해야 겠다는 생각이 들었습..