운동하는 공대생
Deep Learning(딥러닝) 본문
Intro
머신러닝 분야를 공부를 시작하면서 자연스럽게 접하게 되었던 딥러닝 분야 공부를 항상 미뤄왔다가 이번 여러 대회를 참가하면서 비정형 데이터들의 분류와 예측하는 대회들이 유행하고 있어서 딥러닝 분야를 공부를 시작을 해보았다.
What is Deep Learning
딥러닝 분야는 항상 최신 트렌드 산업과 기술에서 꾸준히 등장하고 있는 분야이다. 이런 딥러닝 분야는 이제까지 공부한 머신러닝 알고리즘 중 하나인 인공신경망(Artificial Neural Network)으로 만들어진 알고리즘을 말하며 큰 틀에서 본다면 머신러닝 분야라고 할 수 있다.

퍼셉트론(Perceptron)


위의 사진은 인공 신경망 알고리즘의 작동 방식을 시각화한 것이다. x는 입력값 w는 가중치 y는 출력 값이다. 뉴런처럼 입력값을 여러 개 받아서 가중치를 두고 하나의 출력 값을 도출해 내는 방식이다. 이때 가중치(w)에 따라서 데이터의 중요도를 판단하고 가중치와 데이터를 같이 전달한다.
이렇게 전달받은 데이터는 입력값과 가중치의 곱으로 이루어져 있으므로 일정 임계치가 넘으면 1 넘지 못하면 0으로 값을 표시하여 전달한다.

위의 식에서 임계치 세타를 좌변으로 넘기고 편향 b(bias)로 표현이 가능하나다. 임계치가 1이라고 고정을 시키고 편향을 곱하는 값이 결괏값에 전달이 된다. 이것을 식으로 나타내면


왼쪽 그림처럼 값을 보내는 쪽으로 임계치를 넘기고 편향을 가중치로 두면 오른쪽 식처럼 편향(b)를 마지막에 더하는 식의 식이 나온다. 이 식은 뉴런에서 출력 값을 변경시키는 함수를 활성화 함수(Activation Function)라고 한다. 여기서 b 값은 생략하기도 하지만 이후 고도화 작업을 하기 위한 최적화 단계에서도 생각을 해줘야 하는 부분이다.

단층 퍼셉트론
위에서 쭉 설명했던 퍼셉트론은 단층 구조의 퍼셉트론이다. 밑의 그림을 보면 입력층, 출력층 이렇게 2가지 단계의 층(layer)로 이루어져 있다. 입력층과 출력층 이렇게 2가지 단계의 단층 퍼셉트론은

다층 퍼셉트론

단층 구조에서 한 단계 발전한 단계가 다층 구조 퍼셉트론이다. 여기서 데이터의 입력층과 결괏값의 출력층 그리고 그 사이에 은닉층이 새롭게 추가가 되었다. 은닉층(hidden layer)이 2개 이상이면 심층 신경망(Deep Neural Network, DNN)이라고 한다.
퍼셉트론이 제대로 된 정답을 출력할 때까지 저자가 직접 가중치를 바꿔보면서 적절한 가중치를 수동으로 찾았습니다. 하지만 이제는 기계가 가중치를 스스로 찾아내도록 자동화시켜야 하는데, 이것이 머신 러닝에서 말하는 훈련(training) 또는 학습(learning) 단계에 해당됩니다. 앞서 선형 회귀와 로지스틱 회귀에서 보았듯이 손실 함수(Loss function)와 옵티마이저(Optimizer)를 사용합니다. 그리고 만약 학습을 시키는 인공 신경망이 심층 신경망일 경우에는 이를 심층 신경망을 학습시킨다고 하여, 딥 러닝(Deep Learning)이라고 합니다.
'Deep Learning' 카테고리의 다른 글
[Deep Learning] CNN-Convolutional Neural Networks (1) | 2023.04.27 |
---|---|
[Deep Learning] 다층 퍼셉트론 이론과 역전파 (0) | 2022.12.15 |
GAN(Generative Adversarial Networks)(3/3) (0) | 2022.10.21 |
GAN(Generative Adversarial Networks)(2/3) (0) | 2022.10.18 |
GAN(Generative Adversarial Networks)(1/3) (0) | 2022.10.18 |