본문 바로가기
데이터 및 Programing/Part1. Basic Knowledge

딥러닝(Deep Learning)의 정의와 역사, 신경망의 정의와 활용

by 깜장스 2022. 1. 11.
반응형

1. 딥러닝의 정의

 

- 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화

 

  (abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는

 

 기계 학습 알고리즘의 집합 

 

- 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야


   (머신 러닝의 범주 안에 속함.)

 

2022.01.06 - [Programming Python/Part1. Basic Knowledge] - 머신러닝(Machine Learning)의 정의 와 분류

 

머신러닝(Machine Learning)의 정의 와 분류

1. 머신러닝 (machine) - 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야 - 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구. 인공지능의 한 분야로 간주됨 - 머

nightime-mech.tistory.com

 

2. 딥러닝의 역사

 

 

- 우리가 아는 딥러닝은 역사를 거슬러 올라가면 1940년대까지 올라가야함.

 

- Perceptron 의 개념이 토대로 많은 발전을 거듭해 오지만, 1970년대에 Xor 문제의 벽에 부딪히게되면서

암흑기가 찾아옴 

 

퍼셉트론(Perceptron)은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 제안한 초기 형태의 인공 신경망으로

 

   다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다.

 

- 그 암흑기를 탈출시켜준 개념에 Backpropagation

 

오차역전법은 동일 입력층에 대해 원하는 값이 출력되도록 개개의 가중치를 조정하는 방법으로 사용되며,

 

속도는 느리지만 안정적인 결과를 얻을 수 있는 장점이 있어 기계 학습에 널리 사용되고 있다.

 

- 그 후 Hidden Layer의 수를 늘려가면서 정확도가 매우 높아지면서 각광받기 시작함.

 

3. 딥러닝 대표 프레임워크

 

1) 텐서플로우(TensorFlow)

 

    - 구글에서 만듬. 핵심 코드가 C++로 작성
   

    - 직관적인 고수준 API

      

        ( 처음에는 할만해 보이지만, 깊이 배워가면 갈수록 장벽이 높아짐을 느낌)

2) 캐라스(keras)

   - 텐서플로우 보다 쉬운 API


     (백엔드로 텐서플로우 활용 가능)

   - CPU, GPU를 동일 코드로 사용 가능.

 

3) 파이토치(pytorch)

    

   - Facebook 에서 만듬.

 

   - C/CUDA Backend 사용 가능

   - 텐서플로우에 비하면 많이 낮은 진입 장벽

   - 예전에는 텐서플로우를 많이 사용하였으나, 요즘은 파이토치를 많이 쓰는 중

     (논문 인용 건수로 볼때 많이 상승)
  

 

4. 딥러닝...곧 신경망(Neural Network)

 

신경망 (출처 : https://wikidocs.net/24958)

 

- 딥러닝에서는 신경망을 빼놓을 수가 없음. 왜냐하면 퍼셉트론은 실제 뇌를 구성하는 신경 세포 뉴런의 동작과

 

   유사하기 때문임.

 

-  뉴런은 가지돌기에서 신호를 받아들이고, 이 신호가 일정치 이상의 크기를 가지면 축삭돌기를 통해서 신호를 전달함

 

딥러닝 신경망 (출처 : https://wikidocs.net/24958)

 

- 위 그림처럼 딥러닝 신경망도 가지 돌기에서 신호를 받듯이 x값을 받고, 그에 대한 가중치 w를 이용하여

 

y를 결정하는 것.

 

- 이것을 조금 더 정교하게 꾸며가면 아래의 그림과 같은 형태의 우리가 자주 보는 딥러닝 신경망 구조가 됨.

 

※ 인공 뉴런(Artificial Neuron)

 

   : 노드(Node)와 엣지(Edge)로 표현
    

     하나의 노드 안에서 입력(Inputs)과 가중치(Weights)를 곱하고 더하는 선형 계산

     활성화 함수 통과를 모두 포함.

 

  인공 신경망(Artificial Neural Network)

   : 여러 개의 인공 뉴런들이 모여 연결된 형태

     뉴런들이 모인 하나의 단위를 층(Layer)이라고 하고, 여러 층으로 이루어질 수 있음.

 

 

5. 신경망의 활용

 

    1) 회귀 (Regression)

 

       - 잡음을 포함한 학습 데이터로부터 어떤 규칙을 찾고 연속된 값의 출력을 추정

    2) 분류 (Classification)

       - 입력값에 따라 특정 범주로 구분하는 문제

         (분류를 하는 곡선을 찾는 것임)

반응형