티스토리 뷰

Applications of CNNs

 - CNN(Convolutional Neural Networks) 은 한국어로 합성곱 신경망 또는 콘볼루션 신경망 으로 불린다.

 - 콘볼루션 신경망은 VUI(Voice User Interface), 자연어처리, 컴퓨터 비전 등 응용분야가 무긍무진하다.

 - VUI의 사례로, 구글은 CNN을 사용하여 WaveNet 모델을 발매하였는데

 - WaveNet은 텍스트를 input으로 받아 컴퓨터가 창출해낸 목소리로 그것을 읽어낸다.

 - 진짜 개쩌는건 샘플을 제공해주면 가령, 내 목소리의 샘플을 제공해주면

 - input으로 텍스트를 넣을때마다 output으로 내 목소리로 그 텍스트를 읽어낸다.

 - 자연어처리에서는 RNN(Recurrent Neural Networks)가 CNN보다 더 많이 사용된다.

 - 하지만 물론 자연어처리에서도 CNN이 사용될 수 있다.

 - 앞으로 다뤄볼 내용은 CNN을 이용하여 컴퓨터비전 분야의 이미지분류 파트를 다뤄보도록 할 것이다.

 - 이미지가 주어지면 CNN이 특정 lable을 추측 해 내는 구도이다.

 - 광범위한 기술사용 예시중 몇가지를 뽑자면..

 - WaveNet

 - CNN을 사용한 텍스트 분류

 - Atari games






How Computers Interpret Images

 - 먼저 어떻게 딥러닝이 손으로 쓴 글씨체를 인지할 수 있는가에 대해 알아보도록 하자.

 - MNIST 데이터베이스에서 데이터셋을 가져다 사용할 것인데, 

 - 손으로 쓴 70000개의 그레이스케일 이미지를 데이터로 한다.

 - 각 데이터는 0~9까지의 숫자를 의미하고있다.




 - 먼저, 케라스에서 데이터셋을 다운받고 필요로하는 파이썬 모듈을 import한다.




 - 그다음, 학습시킬 이미지를 시각화 하게된다.

 - 이 때 상대적으로 몇몇 숫자들이 더 인지하기 수월하다는 것을 알아차릴 수 있다.

 - 알고리즘을 바탕으로 모델이 이미지를 인지하고 패턴을 발견하는 것이다.

 - 이렇게 정립된 알고리즘은 학습했던 숫자가 아닌 새로운 숫자를 해독하는데에도 사용된다.




 - 모든 그레이스케일 이미지는 컴퓨터에의해 배열로 해석된다.

 - 각 배열엔 이미지 픽셀당 하나의 엔트리가 부여되는데, 이 엔트리 값은 0~255 값을 가진다.

 - MNIST 데이터베이스에 있는 각 이미지들은 28x28 크기이다.

 - 따라서 컴퓨터는 이를 28x28 배열의 데이터로 인지한다.

 - 흰색 : 255 / 검은색 : 0 / 회색 : 0~255 사이의 값(예 : 114)




- 빠른 처리를 위해 0~255 사이의 값을 0과 1사이의 값으로 normalize 한다.

 - 따라서 모든 픽셀의 값을 255로 나눠 줄 것임.




 - Keras의 deep network에 값을 주기 전에 label을 미리 처리해 둬야한다.

 - 현재 이미지들은 특정 정수를 나타내는 이미지이다.

 - 이것을 one-hot encoding으로 변환해준다.

 - one-hot encoding을 통해 위에서 확인할 수 있듯, 3의경우 0001000000과 같이 할당해준다.




 - 이렇게까지 진행하면 데이터에 대한 전처리는 끝난다.

 - 전에 다뤘던 숫자인식프로그램을 여기에 대입하면 더 수월할 것 같지만 불가능하다.

 - 이전의 알고리즘에선 input으로 벡터만을 받았다.

 - 따라서 이전 알고리즘을 사용하려면 현재 모든 이미지들을 벡터로 변환해야하는데 쉽지않다.

 - 가령 4x4 이미지의 경우 16 엔트리를 가진 벡터로 변환할 수 있어서 가능하지만 번거롭다.




 - 예를들어 4x4 크기의 이미지의 경우 위와같이 일렬로 나열하여 벡터로 집어넣는 방법인데

 - 28x28 크기의 경우 784 엔트리를 받는 벡터로 받아와야한다.

 - 이렇게 직렬화 과정을 거쳐 MLP의 input layer에 입력해주면 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함