[솔트룩스] 새싹 인공지능 응용 SW 개발자 양성과정 | 36일차 | 7. 딥러닝 (1)
2022.02.10 | 36일차 | 7. 딥러닝 (1)
- 권혜윤 강사님 ( yujinkwon@nate.com )
딥러닝(Deep learning)
- 머신러닝과 딥러닝의 차이 (딥러닝, 데이터로 세상을 파악하다)
선형회귀(Deep learning)
- 정의
- 비용 함수와 학습
경사하강법(Gradient descent)
- 정의
- 함수 값이 낮아지는 방향으로 독립 변수 값을 변형시켜가면서 최종적으로는 최소 함수 값을 갖도록 하는 독립 변수 값을 찾는 방법
- 함수의 기울기 (즉, gradient)를 이용해 x의 값을 어디로 옮길 때 최솟값을 갖게 되는지 알아보는 방법
- 비유
- 앞이 보이지 않는 안개가 낀 산을 내려올 때는 모든 방향으로 산을 더듬어가면서 산의 높이가 가장 낮아지는 방향으로 한 발 씩 내딛어갈 수 있다.
- 사용 목적
- 함수의 최솟값을 찾는 문제에서 이용
- 미분 계수가 0인 지점을 찾지 않고 왜 경사하강법을 쓸까?
- 함수가 닫힌 형태가 아닌 경우
- 함수가 너무 복잡해 미분 계수를 구하기 어려운 경우
- Gradient descent를 구현하는게 미분 계수를 구하는 것보다 더 쉬운 경우
- 데이터 양이 너무 많은 경우 효율적으로 계산하기 위해
- 수식 유도
- 기울기의 부호의 반대방향으로 이동: 기울기가 양수일 때는 x가 작아지는 방향으로 옮기고, 기울기가 음수이면 x가 커지는 방향으로 옮겨야 한다.
- 기울기의 크기: 최솟값에 가까울수록 조심히 움직여야 발산하지 않음
- 이 때, 사용자의 필요에 맞게 이동 거리를 조절할 수 있도록 해주기 위해 step size 조절 인자(적절해야함)를 넣기도 한다. (learning rate α)
- 경사하강법을 이용해 비용함수의 최솟값을 찾는 과정 (비용함수의 parameter들은 모두 normalize 하여 시각화하였음)
- 선형 회귀
- 선형 회귀 개요 - 컴퓨터 스스로 기준을 찾는 것
- 사과 익은 것 분류하기
- 기준은 선이다
- 기준의 의미
- 선형 회귀
- 비용 함수와 학습
- 경사하강법
- 머신러닝 및 딥러닝 알고리즘을 학습시킬때 사용하는 방법 중 하나
- 1차 근삿값 발견용 회적화 알고리즘
- 함수의 기울기(경사)를 구하여 기울기가 낮은 쪽으로 계속 이동시켜 극값(최적값)에 이를 때까지 반복하는 것.
- 경사하강법의 약점 (해결방법은 모멘텀 - 기울기에 관성부과)
- 현재 위치에서의 기울기를 사용하기 때문에 지역 최소값에 빠질 수 있음.
- 무작위 초기화(random initialization)로 인해 알고리즘이 전역 최소값이 아닌 지역 최소값에 수렴할 수 있음.
- 평탄한 지역을 지나기 위해서 시간이 오래 걸리고 (대체: 확률적 경사 하강법) 일찍 멈추어서 전역 최소값에 도달하지 못할 수 있음.
텐서플로우 (Tensorflow)
- 머신러닝을 위한 오픈소스 플랫폼 (딥러닝 과제를 수행하기 위해 제공하는 라이브러리)
- 현재 가장 많이 사용하고 있는 딥러닝 프레임워크
- 빠른 수행속도
- 비교적 쉬운 개발
머신러닝 용어
- Feature : 특징
- 특징 벡터 or 입력 벡터 : ex) 2개 값의 특징 (입력 벡터가 2차원)
- 학습 : 선을 구성하는 3개의 값을 찾는 것.
- 선형 분리 (linear separating) : 선으로 양분하는 것.
- Weight : 가중치 (각 입력에 곱해지는 w1, w2)
Today's code (Google Colab)
- 선형 회귀 분석
- 텐서플로우 프로그래밍
댓글
댓글 쓰기