DL

2.1 딥러닝

math_tbro 2022. 1. 3. 03:22

2.1 딥러닝이란?

머신러닝에서 설명 했듯이 보통 비정형데이터(영상,언어) 같은 것에 사용하고 분석가의 개입없이 오로지 컴퓨터에게 설명을 맡긴다.

ex) 이미지에 대해서는 잘 아니까 음성 인식 시스템에 대해 설명해보자.

  • 전통 : 임의로 생성한 특징 오디오에서 추출, 음소라고 불리는 발음의 기본 요소를 인식해서 인식된 음소를 나열한 후 텍스트 문장으로 전환
  • 현재 : 음성이 음력되면 바로 출력까지 뉴럴네트워크가 작동(오 개쩌네?)

2.2 딥러닝 발전과정

2.2.1 퍼셉트론(perceptron)

사람의 뇌에는 뉴런이 존재.

딥러닝도 이와 유사하게 퍼셉트론이 뉴런의 역할을 한다.

뉴런과 마찬가지로 데이터를 입력받아 가중히와 입력값을 조합하여 다음 퍼셉트론으로 전달하는 구조

그림을 하나하나 뜯어보자.

  • x는 입력신호, y는 출력값, w는 가중치(Weight)를 나타낸다.
  • 여기서 w는 파라미터이다.
  • 이렇게 net을 구한다음 이걸 활성화함수를 거쳐서 출력을 하게 된다.
    • 부가설명을 하면 여러가지 활성화 함수가 있다.
      • relu : 위 그림과 같은데 조금 날카롭다고 생각하자
      • sigmoid : 보통 0 아니면 1인지 확률을 정할 때 사용한다 즉 2개의 클래스를 구분 할때 사용
      • softmax : 이건 3개이상의 클래스를 구분할때 사용

    2.2.2 다층 퍼셉트론

내가 보통 알고 있는 신경망 구조이다.

다층 퍼셉트론은 페셉트론과 다르게 hidden layer가 존재한다.

https://mathtbro.tistory.com/51

자세한건 위에 다 써놨다.

자 우리는 입력을 넣었을 때 우리가 알고 있는 정답인 출력이 나오기를 기대한다. 근데 그게 쉽지가 않다. 그러기 위해서 우리는 다음 다층 퍼셉트론을 이용해서 그 정답과 아주 유사하게 나오는 학습파라미터 즉 w, 가중치를 찾아주고 싶은거다.

당연히 우리는 w에 대해서 모른다. 뭘 넣어야 저런 출력이 나오는지 직관적으로 이해 할 수 없다.

그래서 나온 방법이 위 방법이다. 요약하면

  1. 일단 w에 랜덤한 아무 숫자나 넣은다.( 좋고 적합한 수를 넣으면 계산량이 줄겟지?)
  1. 그 다음 feed forward 로 위에서 정한 w가 얼마나 정확한지 MSE오차함수를 이용해 판단한다.
  1. 그리고 이제 w를 업데이트 해야하므로 출력에서 입력쪽으로 그래디언트 디센트를 이용해서 미분값을 구해서 학습률을 업데이트 해준다.
  1. 이렇게 되면 우리는 새로운 w를 갖게 된다.
  1. 위에서는 안했지만 이런 새로운 w로 feed forward 하면 오차가 감소한 것을 확인할 수 있다.
  1. 이게 바로 1Epoch 한거다. 우리는 이걸 100번,1000번, 10000번 하니까 인간이 절대 컴터를 못이기는거 같다.

다음은 내가 과제로 직접 눈물흘리며 손으로 푼건다.

https://github.com/dhy02094/STUDY_TH/blob/master/확률과정론/역전파 계산.pdf

'DL' 카테고리의 다른 글

딥러닝 핵심 알고리즘 (batch,gra_desc,avti_func)  (0) 2022.01.09
딥러닝)Optimizer 알고리즘  (0) 2022.01.09
[딥러닝]역전파 - Back Propagation  (0) 2022.01.03
CAM(class activation map)  (0) 2021.12.17
GAP (global average pooling)  (0) 2021.12.17