PyTorch Section 1

최원빈·2023년 6월 26일
0

Pytorch studying

목록 보기
2/17
post-thumbnail

* 강사님의 자료는 저작권이 있기 때문에 배운 내용을 최대한 간단하게 정리하는 수준으로 작성하였습니다.

인트로

  • 파이토치는 파이썬의 주요 라이브러리 코드와 비슷하여 더 많이 사용되고 있는 추세
  • 허깅 페이스의 대부분의 모델이 파이토치 코드로 이루어져 있음 (파이토치로 딥러닝 공부를 더 자세히 하고자 했던 이유 중 하나)
  • 딥러닝은 아직 아무도, 그 내부가 왜 이렇게 동작하는지 잘 알지 못함 (이것이 연구과제)
  • 자료가 생각보다 많지 않고, 모두 다른 이야기를 하는 경우도 있음
  • 때문에 여러 키워드로 검색하거나 영어 키워드로 검색하여 찾는 것이 좋을 수 있음

딥러닝 큰 그림

  • 딥러닝 구조 \to 인간의 뇌 뉴런 구조와 유사하게 만든 것
  • 오차 역전파식 기반으로 학습 (가중치 업데이트)
  • 학습 후 예측 결과 확인
    • 결과가 좋아도 이유를 알기는 어려움
    • 학습, 예측에 필요한 수학식을 다양하게 바꿔보며 결과 확인
  • 계속해서 새로운 구조, 수학식이 나오고 있음
  • 기존 핵심 수학식, 구조를 이해해야 새로운 수학식, 구조 이해 가능

수학 기호

  • 주요 기호와 읽는 방법
  • 함수 (1차 함수, 2차 함수)
  • 미분
    • 상미분 (Ordinary Derivative)
    • 편미분 (Partial Derivative) : 변수가 두 개 이상일 때의 미분
    • 합성 함수에 대한 미분 : 여러 개의 함수가 섞여있을 때의 미분
  • 지수

선형 회귀

  • 선형회귀
    • 독립변수와 종속변수로 이루어져 있음
    • 종류
      • 단순 선형 회귀
        • 다중 선형 회귀
    • 가설 (Hypothesis) \to H(x)=wx+bH(x) = wx + b
  • 선형회귀가 예측을 하는 방법 (오차계산)
    • 예측값과 실제값 간의 차이를 최소로 만드는 w,bw, b를 찾기 위한 (잔차를 찾기 위한) 오차 계산식 정의 필요 \to cost(w,b)cost(w,b)
    • 여기서의 오차 계산식 \to 비용 함수 (cost function), 손실 함수 (loss function), 또는 목적 함수 (objective function)라고도 함
      • MAE
      • MSE
      • RMSE
      • RMSLE

경사하강법

  • 최소제곱법
    • cost(w,b)cost(w,b)가 최소가 되기 위해 각각 w,bw,b로 편미분 했을 때의 값이 0이면 됨
    • 하지만, 여러 개의 독립 변수가 있을 때는 계산이 어려움 \to 다른 방법이 필요
  • 경사하강법 (Gradient Descent)
    *
    • 다양한 독립 변수가 있는 경우에도 적용 가능
    • α\alpha : learning rate (하이퍼 파라미터로서 임의의 값 설정 필요)
    • learning rate 너무 높게 잡으면 발산할 가능성이 있고, 너무 낮게 잡으면 최솟값에 근접하기 전에 끝날 수 있음 \to 테스트하며 적절한 값 찾아주기
  • 정리하면
    • 딥러닝은 가중치가 굉장히 많고 굉장히 복잡한 식들이 있는데, 여기에 입력값을 넣어 예측값을 얻음
    • 이 때, 오차값을 계산하는 loss function을 만들어서 경사 하강법을 통해 편미분을 하며 가중치를 업데이트
    • 조금씩 조금씩 오차가 최소가 되는 방향으로 딥러닝 작용

텐서

  • 텐서
    • 스칼라 (scalar)
    • 벡터 (vector)
    • 행렬 (matrix)
    • 텐서 (tensor) : 3차원 이상 ~
  • 축의 갯수 (rank)
    • ex. 2D 텐서 \to 2개의 축
    • pytorch에서 .dim()을 통해 축의 갯수 확인 가능

*written on June 26th

profile
차가운 머리와 따뜻한 마음

0개의 댓글