Image Classification
-
스탠포드 cs231n을 정리하며...AI 2021. 4. 28. 12:23
1. 이 강의를 정리한 이유 이전 포스트에도 적었지만, 아이펠 강남 수업을 들으면서 가장 버겁게 느껴졌던 부분 중 하나가, 스탠포드 cs231n강의를 듣는 것이었습니다. 인공지능에 대한 이해도 별로 없던 제가, 영어로 된 강의를 듣는다는 것이 어려웠고, 이 강의가 어떤 목적으로 어떻게 흘러가고 있는 것인지 전체적인 큰 그림을 초기에 이해하지 못하는 상황에서 무작정 듣는 것도 어려웠습니다. (1강도 정리한 이유) 그래서 아이펠 강남이 끝난 다음 직접 강의 내용을 다시 들어보면서 정리해 보기로 했습니다. 사실 비디오를 한번 본다고 해서, 모든 것을 이해할 수 있는 것도 아니었고, 지금도 그렇지만, 스스로의 학습을 위한 목적이 가장 크다고 할 수 있다. 2. 도움이 될 것이라고 생각되는 사람들 강의를 다 듣고..
-
[cs231n] 10강 순환 신경망 (Recurrent Neural Network) (4/4, LSTM)AI 2021. 4. 13. 17:48
지금까지 우리는 이 단일 순환 망 계층에 대해서 얘기했는데, 하나의 숨겨진 상태 (hidden state)만 있는 거죠. 앞으로 꽤 자주 보게 될 또하나는 이 다층 순환망 (multi-layer recurrent network) 아이디어입니다. 여기서 이건 3계층 순환 신경망인데, 입력이 들어가고 일련의 숨겨진 상태가 첫번째 신경망 계층으로부터 만들어 집니다. 그리고 이제, 하나의 순환 신경망 계층을 실행시키고 나면, 이런 숨겨진 상태의 전체 순열을 가지게 됩니다. 그리고 그 숨겨진 상태의 순열을 다른 순환 신경망 계층의 입력 순열로 사용할 수 있습니다. 그럼 두번째 RNN계층으로부터 또다른 숨겨진 상태의 순열을 만들어 내는 것을 생각해 볼 수 있죠. 그리고 이런 것들을 서로서로 쌓아올리는 것을 생각할 ..
-
[cs231n] 10강 순환 신경망 (Recurrent Neural Network) (3/4, 이미지 캡셔닝 (image captioning))AI 2021. 4. 13. 15:36
저는 안드레이 (Andrej)와 이 논문을 몇 년전에 썼는데, 많은 이런 모델을 훈련시켰고 이 모델들의 브레인으로 들어가서 그것들이 무엇을 하고 있는지, 왜 그것들이 동작하는 지에 대해서 알아내려고 했죠. 그래서 우리는 이 순환 신경망 (recurrent neural network)들이 이 숨겨진 벡터들을 가지고 있고, 그 벡터는 매 시점마다 업데이트 되는 어떤 벡터라는 것을 알았죠. 그다음 우리는 이 벡터의 어떤 요소가 어떤 구문론적 해석가능한 의미를 가지고 있는 지를 알아 내려고 했습니다. 우리는 신경망 언어 모델을 훈련시켰는데, 이 문자 수준 (character level) 모델 중 하나를 이 데이타 셋 (data set)중의 하나에 대해서 했죠. 그리고 그 숨겨진 벡터 (vector) 내의 요소 ..
-
[cs231n] 10강 순환 신경망 (Recurrent Neural Network) (2/4, 계산 그래프 (computational graph))AI 2021. 4. 13. 11:50
구체적인 예로, 우리가 순환 신경망을 자주 사용하는 대상은 언어 모델링 (language modeling)이라고 부르는 문제입니다. 언어 모델링 문제에서는, 어떤 순열을 읽는 건데, 망이 어떻게 자연어 (natural language)를 만들어 내는 지를 이해하는 거죠. 그래서 이건 문자 단위로 (character level) 벌어지는 일이라서, 우리의 모델은 한번에 하나씩 문자를 만들어 냅니다. 이건 또 단어 수준으로 (word level) 할 수 있죠. 모델이 한번에 하나씩 단어를 만들어 내는 겁니다. 그러나, 매우 간단한 예에서, 여러분은 이 문자 단위 언어 모델을 상상해 볼 수있고, 거기서는 망이 어떤 순서의 문자들을 읽고 텍스트의 흐름에서 다음 문자가 어떤 것이 될 지를 예측할 필요가 있는거죠...
-
[cs231n] 10강 순환 신경망 (Recurrent Neural Network) (1/4, 계산 그래프 (computational graph))AI 2021. 4. 12. 19:10
기억을 되살려보면, 지난시간에 우리는 CNN 아키텍처에 대해 이야기 했죠. 우리는 이미지넷 (ImageNet) 분류 대회의 여러 우승자들 중 몇개를 시간 순서로 봤습니다. 돌파구가 발견된 결과였던 것 같죠. 봤듯이 2012년에는 알렉스넷 (AlexNet) 아키텍처였죠, 9개 계층의 합성곱 신경망이었습니다. 그건 놀랍게 잘 했고, 그것이 컴퓨터 비전에 있어서 이 전체 딥러닝 혁명을 시작한 거죠. 그리고 이 많은 모델들을 주류 (mainstream)로 끌어올렸죠. 그리고 나서 우리는 2년 정도 건너 뛰어서 2014년 이미지넷 대회에서 2개의 매우 재미있는 모델인 VGG와 구글넷 (GoogLeNet)을 봤습니다. 그것들은 훨씬 더 깊었죠. VGG는 16과 19 계층 모델이 있었고 구글넷은 22 계층 모델이었던..
-
[cs231n] 9강 CNN 아키텍처 (architecture) (4/4, 다른 아키텍처들)AI 2021. 4. 1. 15:50
빠르게 관련된 복잡도에 대해 좀 더 감을 잡아 보도록 이걸 보죠. 여기에 플롯 (plot)들이 있는데, 성능으로 정렬된 건데, 상위 1개 (top 1) 정확도로 정렬된거죠. 그래서 더 높은게 더 좋은 거죠. 우리가 얘기했던 이 모델 중 많은 것들을 보게 될거고 뿐만 아니라 그것들의 다른 버전도 보게 될 겁니다. 이 구글넷 인셉션은, v2, v3도 있었던 것 같은데요. 가장 좋은 것은 v4인데, 이건 사실 레즈넷 더하기 인셉션의 조합이죠. 그래서 이것들은 그것들 위에 만든 일종의 점진적이고, 좀 더 작은 변화들입니다. 그래서 그게 여기서 가장 잘 동작하는 모델이죠. 오른쪽을 보면, 이 계산 복잡도에 대한 플롯들은 정렬이 되어 있는데요. Y축은 상위 1개 정확도라서 더 높은 것이 더 좋은 거죠. X축은 연산..
-
[cs231n] 9강 CNN 아키텍처 (architecture) (3/4, ResNet)AI 2021. 4. 1. 11:40
이제 2015년 우승자를 보죠. 레즈넷 망 (ResNet network)입니다. 여기 이 아이디어는 실제로 혁명적인 깊이입니다. 우리는 2014년에 깊이를 늘리기 시작했고, 이 152 계층의 엄청나게 더 깊은 모델을 얻었습니다. 그게 레즈넷 아키텍처죠. 이제 좀 더 세부사항을 보죠. 레즈넷 아키텍처는, 극도로 깊은 망이고 이전의 어떤 망보다 훨씬 깊죠. 그건 이 중복 커넥션 (residual connection)이라는 아이디어를 사용하는데, 이따가 얘기할 겁니다. 그래서 그들은 이미지넷에 대해 152계층 모델을 얻었죠. 그들은 이걸로 3.57%의 상위 5개 (top 5) 오류율을 얻었고 정말 특별한 점은 이미지넷 벤치마크 (ImageNet benchmark)에서 모든 분류와 탐지 대회를 다 쓸었다는 겁니..
-
[cs231n] 9강 CNN 아키텍처 (architecture) (2/4, VGG, GoogLeNet)AI 2021. 3. 31. 19:33
그래서 2014년에 몇 개의 아키텍처가 나왔는데 이제 좀 더 상당히 다른 것들이었고 성능에서 또 한번 도약했습니다. 이 망들 (networks)의 주요한 차이점은 먼저 훨씬 더 깊은 망이었다는 겁니다. 2012, 2013년에 8 계층 망에서 2014년에는 매우 비슷한 우승자 둘이 있었는데, 19계층과 22계층이었죠. 상당히 더 깊어졌죠. 우승자는 구글에서 나온 구글넷 (GoogLeNet)이었죠. 그러나 뒤에 바짝 붙어 있는 것이 VGGNet이라고 불리는 옥스포드에서 나온 것이 었는데, 사실 위치 인식 (localization) 대회에서는 VGG가 다른 트랙들 몇 개에서 1등을 했습니다. 이 둘은 매우 강력한 망이죠. 먼저 VGG를 약간 자세히 보죠. VGG 망은 훨씬 더 깊은 망이고 훨씬 더 작은 필터를..