-
반응형
딥러닝 vs 머신러닝
- 딥러닝과 머신러닝의 가장 큰 차이는 학습할 데이터의 특징을 알려주는가이다
예를 들어 개와 고양이의 사진을 구분지으라고 했을때
머신러닝은 컴퓨터에게 개와 고양이의 특징에 대해서 미리 알려주어야 한다.
개는 귀가 길고 고양이는 귀가 짧더라, 개는 주둥이가 길지만 고양이는 짧더라
이런식으로 특징을 알려주는 과정이 필요하다.
하지만 딥러닝은 그러한 과정이 필요가 없다.
컴퓨터가 알아서 학습을 하면서 개와 고양이의 특징을 찾고 분류할 수 있다.
인공신경망
이러한 과정을 거치기 위해서 인공신경망이라는 것을 활용한다.
신경망은 인공적으로 구연해낸 신경망이다.

입력값이 주어질때 출력값을 예측한다고 하자.
이때 은닉층을 추가하여 출력값을 더욱 더 잘 예측할 수 있도록 한다.
가중치 w값을 추가하여 입력값과 곱하여 출력값을 예측한다.
예를들어 입력에 x1,y1이 들어오고 은닉층의 노드가 두개라면 x1w1 + x1w2 + y1w1+ y2w2... 이런식으로 출력값을 결정하며 w값을 조정하여 예측하고자 하는 값에 가까워지는 w를 구하는 과정이 딥러닝의 과정이라고 할 수 있다.
손실함수
손실함수는 위 과정을 통해서 구한 예측값이 실제값과 얼마나 차이가 존재하는지를 구하는 함수이다.
손실함수에는 여러가지 함수들이 존재할 수 있다.
그냥 실제값 - 예측값을 하여 오차를 구할수도 있겠지만 제곱을 하거나 평균을 내는식으로 다양한 방법을 사용하여 오차값을 구할 수 가 있다.
활성함수
활성함수는 은닉층의 노드로 들어온 입럭값을 함수를 통해 바꿔주는 함수를 의미한다.
활성함수를 통해 출값을 조정할 수 있으며, 무엇보다 비선형적인 예측을 할 수가 있는데
비선형적인 예측은 일반적인 선형적인 예측보다 다양한 상황을 예측할 수 가 있어 딥러닝을 강화시켜준다.
활성함수에도 여러가지 종류들이 존재한다. 시그모이드, 렐루, 하이퍼볼릭 탄젠트 함수등이 존재한다.
경사하강법
딥러닝이란 예측값과 가장 가까운 w값을 구하는 (오차가 가장적은) 값을 구하는 과정이라고 했다.
그렇다면 어떻게 그 w값을 구할수 있을까?
그 방법이 바로 경사하강법이다.

x가 w, y가 E(손실)을 가질때 최소의 E를 갖는 w를 찾기 위해서 현재 w위치의 기울기 값을 구하고 빼서 구하고자 하는 w값과 가까워짔는지를 체크하여 나아가는 방식이 경사하강법이다.
learning rate
위의 그래프를 보면 local minima가 존재한다.
경사하강법을 통해 계산하다보면 저런 지역적 최소값이 진짜 최소값인줄 알고 잘못 계산하는 경우가 존재하기에
경사하강법시 learning rate값을 추가하여 저런 사고를 방지시킬 수있다.
learning rate optimizer을 통해 알아서 이 값을 어떻게 수정하는지에 대한 알고리즘을 설정 할 수 있다.
딥러닝 모델
모델이란 머신러닝에도 존재하는 단어이다.
모델이란 어떠한 방법을 사용해서 (인공신경망의 구성, 활성함수 등등 을 써서)
즉, 어떠한 알고리즘을 써서 딥러닝을 구현하는가를 나타낸다.
다양한 모델들이 존재하며 적절한 알고리즘을 작성해서 사용할 수 있다.
CNN,GAN 등이 존재한다.
반응형'CS > ML&DL' 카테고리의 다른 글
(CS231n)Lecture 3: Loss Functions and Optimization (3) 2025.01.02 (cs231n) Assignment 1 (0) 2025.01.02 (딥러닝) 경사하강법과 선형회귀 (5) 2024.09.23 매우 간략히 요약한 Fast-RCNN (1) 2024.09.04