Neural Networks and Deep Learning (신경망과 딥러닝) - 1
딥러닝이란?
- 신경망의 트레이닝, 매우 큰 신경망을 의미
input값 x → 트레이닝 세트 도입 → y 결과값을 예측 하는 것이 신경망의 역할
Supervised Learning with Neural Networks
(신경망을 사용한 지도 학습)
예) 부동산 집값 예측, 온라인 광고, 컴퓨터 비전, 음성인식, 번역, 자율주행
- 컴퓨터 비전(이미지) : CNN(Convolutional Neural Networks)
- 음성인식 : Audio는 시간에 따라 재생되기 때문에 일차원적인 타임시리즈 또는 시간적인 시퀀스에 의해 가장 자연스럽게 표현된다. → 시퀀스 데이터로는 RNN(재귀 뉴럴 네트워크)을 가장 많이 사용한다. (시퀀스 데이터? 순서를 붙여 나열한 것)
- 번역 : 언어 역시 나열되는 특성 → 시퀀스 데이터를 통해 가장 자연스럽게 표현 → 조금 더 복잡한 버전의 RNN(Recurrent NN)
- 자율주행 : 이미지 → CNN, but 레이더 정보도 있어서 커스텀 버전 또는 복잡한 복합의 hybrid neural network 구조 사용
Supervised Learning
(지도 학습)
Structured Data
- 데이터의 데이터베이스들이 존재
Unstructured Data
- 예) 오디오, 이미지
- 내부에 있는 내용을 인식하고자 하는 데이터를 의미
- 고유특성은 이미지의 픽셀값이나 텍스트에서 개인의 단어가 될 수 있다.
→ 당연히 컴퓨터는 Structured Data 보다 Unstructured Data를 인식하는데 있어 더 어려움이 있다.
(이미지 → 오디오 → 텍스트 순으로 발전)
→ 딥러닝의 발달로 Unstructured Data를 인식하는 데 있어 상당히 발전했다.
→ 그러나, 경제적 가치를 이끌어온 상당 부분의 신경망 분야는 Structured Data에 관한 부분이다.
(더 나은 광고 시스템, 수익 추천, 많은 기업들이 정확한 예측을 할 수 있도록 돕는 막대한 양의 DB 들을 프로세싱하는 능력과 같은 부분이 해당한다.)
왜 딥러닝을 시작해야 될까?
Small Data → 본인 고유 스킬, 엔지니어링 특성에 좌우
Large NN 필요조건 → 큰 신경망을 트레이닝 할 수 있어야 한다. 많은 양의 데이터 필요
Scale → 신경망의 크기, 새로운 네트워크, 숨겨진 다량의 유닛, 많은 양의 변수, 연결 요소들 그리고 데이터의 Scale을 뜻하기도 함.
특정 시점까지만 효과
→ 이유는? 어느 시점 이후 데이터 고갈, 네트워크가 너무 커져서 트레이닝 시키는데 너무 많은 시간이 소요될 수 있다.
딥러닝 프로세스를 주도하는 것
- Data
- Computation
- Algorithms
초기에는 데이터의 양과 계산의 양이 중심이었다. (아주 큰 신경망 네트워크를 트레이닝하는 방법 - CPU or GPU 에서 계산)
but, 알고리즘 혁신이 계산하는 과정에서 큰 도움을 주었다.