본문 바로가기

Deep Learning

[Deep Learning] 딥러닝 소개 : 딥러닝이란?/ Neural Network 신경망/ 지도학습/ 최근 딥러닝이 뜨고 있는 이유

이 포스팅은 edwith의 딥러닝 1단계 : 신경망과 딥러닝을 듣고 공부 목적으로 작성되었습니다. 

이 강의는 4주 차 기준으로 되어있어 한 주차에 해당하는 내용을 기준으로 포스팅을 하려고 하고, 이번 포스팅은 1주 차에 해당하는 내용이다. 


Deep Learning은 어디에 사용되는가?

     - 웹 검색/ 인터넷 광고

     - 새로운 종류의 산업 상품 개발

     - x-ray/ 헬스 케어

     - 개인 맞춤 교육

     - 정교한 농업 기술

 

그렇다면 Deep Learning 이란 무엇인가?

 

  "AI is the new Electricity." - Andrew Ng

100여 년 전부터 우리 사회에서 전기화는 많은 산업에 변화를 이끌어 왔다. 오늘날에는 인공지능이 그에 버금가는 큰 변화를 보여주고 있다.  딥러닝도 AI의 일부이며, 이제는 과학기술사회에서 가장 필요한 능력이다. 

 

   딥러닝의 의미 1. 신경망( Neural Network) 학습시키기

               의미 2. 아주 큰 신경망


            Neural Network 신경망이란 무엇인가?

single Neuron -  출처 : 구글 강의노트 

                  input을 가지고 output을 도출해내는 그 무언가가 neuron이다.

                  위의 그림은 하나의 싱글 뉴런이다. 

 

                  Neural Network이란?

Simple Neural Network

size/ #bedrooms/ zip code/ wealth => Input

                                       Price => Output

             Hidden Unit은 신경망의 은닉 유닛이다. 

은닉 유닛과 인풋은 중앙에 있는 원 모두에 연결되어있기 때문에 조밀하게 연결되어 있다. 

( x , y )가 충분한 양으로 많아진다면 이 신경망의 적중률도 높아질 것이다. 

X와 Y를 매칭 하는 데에 신경망은 지도 학습에서 가장 실용적이며 효과적이다. 


Supervised Learning 이란 무엇인가?

 : Input X와 Output Y를 mapping 되는 함수를 학습시키려고 한다.

   즉, x에 대한 답 y가 정해져 있는 것을 학습시키기 위함이다. 

 

여러가지 지도학습의 예제

이미지 같은 경우, 합성곱 뉴럴 넷( Convolutional NN=CNN)

오디오나 언어 같은 시간 또는 흐름이 중요한 경우, 시퀀스 데이터를 활용한 Recurrent NN = RNN 

레이더의 경우, 이미지와는 구조가 조금 다르기 때문에 Customal/ Hybrid NN을 사용한다.

 

신경망을 통한 많은 값들의 생성은

어떤 문제를 해결하기 위한 적절한 x와 y를 통해 이루어지고

자율주행 같은 더 큰 시스템에 지도 학습 요소들을 적합하게 한다.

 


 

DATA의 종류 - Structured Data & Unstructrued Data

 

   Structured Data                                           Unstructrued Data 

                       Structured  Data                                                                              Unstructrued Data                     

- 기본적으로 데이터베이스로 표현된 데이터                        - 인식하고자 하는 이미지 / 오디오 / 텍스트 데이터

- 신경망에서 발생하는 경제적인 이익이 많이 나옴                - 비구조적 데이터는 컴퓨터가 작업하기 어렵습니다.   

                                                                                ※ 인류는 음성이나 이미지, 비교적 최근 발명품인 text도                                                                                    잘 이해하도록 진화되어왔습니다.                            

 

그래도 "신경망" 덕분에 컴퓨터들이 비구조적 데이터들을 해석하는데 많은 발전을 했습니다!!


왜 최근에서야 딥러닝이 뜨고 있을까???         

 

                 

  Scale drives deep learning progress

              performance : 알고리즘 학습의 성능

              Amount of data : m이라고 표기할 것이며, 실은 x , y 가 짝지어져 있는 labeled data이다.             

그래프 해석

1. data가 클 때 큰 신경망이 일관되게 다른 방법을 압도하는 경향을 보인다.

       가장 큰 large NN이 data가 커질수록 다른 신경망을 압도하는데,

    large NN 이란?

      충분히 큰 데이터를 소화시킬 수 있을 만하게 큰 신경망 규모이며, 충분히 큰 데이터를 가져야 한다.

   신경망의 규모란?     

      신경망의 크기/ 은닉 유닛/ 많은 연결/ 많은 parameter/ 데이터의 규모 등을 일컫는다.

 

2. Small training sets 구간에서, 알고리즘의 상대적 순위가 잘 정의되어 있지 않다. 

   알고리즘 특성을 다루는 실력 또는 알고리즘의 작은 부분이 성능을 크게 좌우한다. 


 

그렇다면, 왜 최근에서야 딥러닝이 뜨고 있을까???    

 

  • 디지털 기기에서 많은 활동 : 사람들이 디지털 디바이스를 통해 많은 활동을 하면서                                                               많은 양의 데이터가 모였다.
  • 가속도계, IOT 센서등의 성능 향상
  • 데이터를 모으려는 노력
  • 초창기 딥러닝 문제에 대한 해결

위의 3가지는 결국 충분한 양의 데이터를 확보했기 때문에,

보다 복잡하고 큰 신경망 구조들이 빛을 발하기 시작했다는 것이다.

 

초창기 딥러닝 문제를 조금 더 알아보자.

          - DATA

          - Computation의 규모

          - Algorithms

 

 

Sigmoid 와 ReLU

Sigmoid 와 ReLU

시그모이드는 양 쪽 끝으로 갈수록 함수의 경사가 거의 0이 됨. 

                  => 경사가 0일때, 경사하강법을 사용하면 파라메터가

                       아주 천천히 바뀌어서 학습이 굉장히 느림.

ReLU는 경사가 0에 수렴할 가능성이 매우 적음 

                 => 경사하강법을 매우 빠르게 함. 

 

 

 

알고리즘의 혁신 

=> 계산능력 크게 향상!!

=> 더 큰 신경망을 훈련시키더나 많은 데이터를 가진 신경망을 적당한 시간내에 처리

 

 

 

The process of training a neural network is iterative.

The process of training a neural network is iterative.

아이디어를 찾고, 코드로 구현하고, 그 것에 대한 경험을 하며 장단점을 분석하여 다시 아이디어를 찾는 과정이 무한정으로 반복된다. 

 

계산 능력 및 속도가 알고리즘 or 하드웨어의 발전을 인해 짧아질 수 있다.

1주기 돌 때, 짧은 시간에 도는 것을 하는것이 매우 효율적이겠죠??

 

 

종합하자면, 알고리즘의 혁신, 하드웨어의 발전, 충분히 많은 데이터들이

딥러닝을 최근에서야 뜨게 만들었다.

 

 

 


이상으로, 1주 차 강의였습니다. 

 

Keyword 

Deep Learning/ Neural Network/ Supervised Learning/ Structured Data/ Unstructured Data/ 딥러닝이 뜬 이유

 

 

ps. 수업을 정말 간결하고 알아듣기 편하게 직관적으로 설명을 해주신다. 코세라 강의를 번역한 거기 때문에 강의의 질에 대해서는 따로 말 안 해도 알 거라고 생각한다. 

 

'Deep Learning' 카테고리의 다른 글

[Deep Learning] 입력값의 정규화 : Improving Deep NN  (0) 2020.02.05