본문 바로가기
Programming/Deep learning

CNN(Convolutional Neural NetworK) 개념 정리

by OKOK 2018. 5. 3.


Machine/Deep Learning 수업의 개요와 일정 요약 

 2016년 3월 컴퓨터 역사, 인류 역사에 기록될 사건입니다. 알파보가 이세돌 선수에게 4:1의 승을 거두었습니다. 머신 러닝의 대가 앤드류 응교수님. 지금 시대에 머신 러닝을 잘 이해하고 잘 활용해서 슈퍼파워를 가질 수 있다고 말씀하심. 머신러닝을 블랙박스로 사용하다 간단한 이해를 가지고 사용만 합니다. 와이는 더블유엑스 플러스 비 입니다. 목표는 다음과 같습니다. 기본 머신 러닝 알고리즘을 이해하는 것입니다. 선형 회귀와 로지스틱 회귀(분류). 뉴럴 네트워크, 컨볼루션 뉴럴 네트워크, 리커런트 뉴럴 네트워크, 파이선과 텐서플로를 사용하여 나의 문제를 풀고자 합니다. 보고 배우면서 사용하고 있습니다. 


대력적인 스케쥴은 머신러닝은 무엇인지 기본적인 컨셉. 리니어 레그레션, 로지스틱 레그레션, 그리고 많은 형태의 입력 데이터를 가지고 처리하는 방법. 뉴럴 네트워크. 그리고 딥러닝 시엔엔과 알엔엔을 쉽게 따라 갈 수 있습니다.


 기본적인 Machine Learning의 용어와 개념 설명

 머신러닝이 무엇일까요.

학습/비학습

회귀와 분류에 대한 용어 정리를 합니다. 


많이 사용하는 앱을 보면 어떤 입력을 하게 되면 입력을 기반으로 데이터를 보여주고 , 익스플리싯 프로그래밍입니다. 정확하게 프로그래밍 하기 어려움에 따릅니다. 구글에서 운전하는 차량, 롤들이 엄청나게 많은 것입니다. 우리가 일일이 프로그래밍 하지말고 어떤 자료, 어떤 현상에서 자동적으로 배우면 어떨까? 이것이 바로 머신 러닝입니다. 개발자가 일일이 정하지 않고, 프로그램 자체가 스스로 어떤 것을 스스로 배우는 것을 말합니다.


머신러닝을 할 때, 학습을 해야 합니다. 학습을 하기 위해 데이터를 주어줘야 하는데요. 학습 하는 방법에 대해서 어떤 하나에 정해져있는 데이터, 이 데이터는 레이블이 정해져있습니다. 트레이닝 셋을 가지고 학습하는 것을 슈퍼바이즈 러닝이라고 얘기를 합니다. 하나의 예로. 이미지를 두면 고양이일까. 개일까. 머그일까. 햇일까. 레이블이 달려있는 이런 그림들을 가지고 학습을 하는 것입니다. 이런 경우의 학습이 이미 레이블이 달려 있는 것을 가지고 학습하기 때문에 슈퍼바이즈 러닝이다 이렇게 부릅니다.


우리가 일일이 레이블을 줄 수 없는 경우가 있습니다. 구글 뉴스가 있는데 자동적으로 유사한 뉴스들을 그루핑을 합니다. 그것을 레이블을 정해주기 어렵습니다. 또는 단어들 가운데 비슷한 단어들을 모아봐라 했을 때 레이블을 직접 만들어주는 것이 아니라 데이터를 보고 스스로 학습한다. 언슈퍼바이즈 러닝이라고 부릅니다. 


이 중에서 슈퍼바이즈 러닝을 다룰 것입니다. 예를 들면 이미지를 레이블링 한다던지. 스팸 필터. 이미지 분야, 이메일 스팸을 가르는 분야, 시험 성적을 예측하는 분야에서 사용할 수 있습니다. 트레이닝 데이터 셋에서 사용되는 것은 하나의 모델이 있고요. 답이 정해져 있는 레이블이 정해져 있는 그 값을 머신 러닝을 와이라고 많이 합니다. 엑스라는 값의 데이터. 트레이닝 데이터 셋이 반드시 필요합니다.


알파고의 경우, 기보가 학습 데이터라고 할 수 있습니다. 결과에 따라서 조금 다르게 분류 할 수 있습니다. 시험 성적 예측 시스템은 성적이라는 것이 범위가 0점에서 100점까지 주어지면 범위가 넓기 때문에 회귀입니다. 이것을 점수로 매기지 말고 패스 페일로 나누어보자 이렇게 할 때 바이너리 분류라고 합니다. 그리고 그레이드로 나눈 다면 멀티 레벨 분류라고 합니다. 아웃풋의 범위에 따라서 하는것이구나. 멀티 라밸 클래시피케이션 이라고 합니다. 슈버 바이지를 다룰 때는 딱 3가지 입니다. 


데이터가 필요한 것입니다. 학습하는 데이터가 필요합니다. 예를 들어 시험 점수를 매기는 경우는 이런 것이 필요합니다. 회귀 모델일 것입니다. 머신러닝의 모델은. 학습 데이터를 가지고 트레이닝을 합니다. 


Linear Regression의 Hypothesis 와 cost 설명 

 시험 성적 예측하는 모델을 가지고 설명합니다. 수학적으로 엑스라는 값을 주고 와이가 얼마일까 물어봅니다. 이것을 어떻게 구현할 수 있을지 보도록 하겠습니다. 설명을 간단하기 위해서 데이터 셋을 간단하게 준비했습니다. 엑스는 1부터 1씩 늘고, 와이도 1부터 1씩 늘어납니다. 이런 학습 데이터가 있습니다. 이것을 가지고 선형 회귀 모델을 만들어보려고 합니다. 가설을 세울 필요가 있습니다. 이 선을 찾는 것이 바로 학습을 하는 것입니다. 수학적으로 나타낸다면 이차원에서 에이치엑스가 가설입니다. 그리고 엑스 값에 가중치를 곱하고 플러스 비를 하면 대략적으로 하나의 형태의 선이 나옵니다. 가설이 1차 방정식이 될 것이라고 가정세웁니다. 어떤 선이 가장 베스트 핏한 선일까. 


더블유 엑스 플러스 비 이렇게 정했는데 값이 무엇인지. 가장 좋은 값이 무엇인지를 찾아 낼 수 있지 않습니까? 대략적으로 에이치 엑스가 1곱하기 엑스 플러스 0이라는 하이퍼시스가 되겠습니다. 가설이 되겠습니다. 가설이 코스트 펑션이나 로스 함수라고 부릅니다. 에이치엑스 - 와이를 합니다. 차이를 제곱을 합니다. 보통 그래야 음수 양수 구분이 없어지기 때문입니다. 일정하게 차이를 양수로 표현해주고, 차이가 클 때 페널티를 많이 주게 되는 것입니다. 값들이 커짐으로써 차이를 작게 만들 수 있는 중요한 값을 나타내게 됩니다. 


코스트가 이렇게 계산이 되고 가설이 이렇게 계산이 됩니다. 기계적으로 대입을 하게 되면 됩니다. 코스트 펑션은 더블유와 비의 펑션이 됩니다. 리니어 리그레션으 숙제는 가장 작은 코스트가 되는 더블유와 비가 나오면 됩니다. 코스트 펑션은 더블유와 비의 함수가 될텐데 이것을 가장 작게 하는 갓을 구하는 것입니다. 미니마이지 비용함수 입니다. 이 학습의 목표가 되겠습니다.