딥러닝 개요

차보경·2022년 5월 3일
0

1. 학습이란 무엇일까?

  • 관찰, 전략, 수립 -> 수행 -> 평가 -> 수정 -> 관찰...의 반복
    ex.영점조절
  • 학습을 하고 방향성에 따라 결과가 달라지지...!
  • 결국 수행 -평가 - 수정 - 수행 -...의 반복이 됨.
  • 행동 : 어떤 퍼셉트론이 주어졌을 때, 데이터를 넣어서 결과값이 나오는 것
  • 평가 : 만들어진 선형함수가 제대로 분류를 하고 있는지 확인하는 것
  • 수정 : 로스값을 기준으로 w, b를 변경하는 것
  • 인간의 뉴런을 모방한 퍼셉트론같은 딥러닝의 발전이 있었기에 많은 인공지능 프로그램이 나오게됨.

2. 퍼셉트론

  • y = wx + b의 기본 형태
  • y = 0 (w1x1 + w2x2 + b <= 0)
    1 (w1x1 + w2x2 + b > 0)
  • x2를 기준으로 식을 바꿈 -> x2(y) - x1(x)의 그래프를 그릴 수 있음
  • 그럼 그 그래프에서 x2 > ~ 인 부분과 그 <= ~ 인 부분을 나눠서 분리하고 싶음!
  • 퍼셉트론으로 경우를 나누고 그 판단에 근거해서 결정을 하는 것을 구분할 수 있음
    (ex. 습도와 구름양에 따라서 우산 유무 따지기 -> 나누는 y = wx + b 의 식으로 나눌 수 있음)
  • 추가로, 습도, 구름, 무릎통증! 이런 특성을 추가함 -> 더 많은 데이터를 근거로 판단할 수 있음
  • 또한 각 특성들의 가중치를 이용해서 더 확실한 판단을 할 수 있음 -> 레이어를 쌓아서 확장해야함
  • 특성과 가중치를 곱한 노드들이 있고, 다음 층에서 그 노드에 가중치를 곱해서 결과를 내게 됨.
    -> But 활성화 함수가 없으면 그냥 단일 함수가 됨 (w^2x = cx) -> 선형적인 단계를 끊어야함.

3. 신경망

  • 더 좋은 결과를 얻으려면 입력노드 갯수를 늘리고, 레이어를 많이 쌓을 수록 좋다는 것을 안다.
  • x1w1 + x2w2~ + b 가 식이 짧으면 계산하기 간편했으나, 노드가 많아질수록 이어주는 선(활성화함수)이 점점 많아지니 계산하기 힘듦 ( for문으로 wx + ~를 일일히 연산해야함)
    -> 행렬계산 (array, ndarray등으로 행렬을 만들어 계산함)
  • 요기서 선형대수학이 나옴..........ㄷ.ㄷ.ㄷ.ㄷ.ㄷ.ㄷ.ㄷ.ㄷㄷㄷㄷㄷ
  • w 가중치를 행렬로 만들어서 입력값을 받아서 계산을 간편하고 빠르게 함.
    (그래서 앞에 리스랑 넘파이를 배웠군...!)
  • 그 레이어가 많으니 그때마다 행렬들을 곱해주기만 하면 for문으로 계산할 필요가 없음
  • x -> y로 가는 게 순전파. output을 prediction -> 이것을 바탕으로 loss 값이 가장 낮은 값으로 나오도록 수정하는 과정이 역전파.
  • w에 대해서 loss 값이 변하는지가 궁금 -> dL/dw 미분!!! 해서 loss 값이 가장 낮은 지점을 찾아 수정수정하는 것이 역전파...!
profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)

0개의 댓글