개발 블로그

Deep Learning이란? 본문

AI

Deep Learning이란?

draidev 2022. 4. 27. 23:15

 

AI SCHOOL 5기 강의를 진행하면서 드디어 메인파트라고 할 수 있는 딥러닝 파트 진도를 나가게 됐습니다.

딥러닝에 대한 정의부터 Tensorflow실습까지 진행하게 되어 기대가 됩니다.

딥러닝을 기반으로한 서비스를 만드는 프로젝트를 진행할텐데 벌써부터 설레네요ㅎㅎ

그럼 딥러닝에 대해 간단하게 짚어보는 글을 시작해보겠습니다.

 

01 딥러닝이란?

딥러닝(Deep Learning)이란 여러 층을 가진 인공신경망(Artificial Neural Network, ANN)을 사용하여 머신러닝 학습을 수행하는 것으로 심층학습이라고도 부릅니다. 따라서 딥러닝은 머신러닝과 전혀 다른 개념이 아니라 머신러닝의 한 종류라고 할 수 있습니다.

(출처 : www.tcpschool.com/deep2018/deep2018_deeplearning_intro)

 

이처럼 딥러닝은 머신러닝의 한 부분으로서 인간의 뇌 구조인 뉴런을 본따서 만든 인공신경망을 통해 주어진 데이터를 학습하여 일정한 값을 도출해내거나 분류를 하는 학습방법입니다.

 

01_01 단층 퍼셉트론(Single-Layer Perceptron, SLP)

- 퍼셉트론은 뉴런을 본따 만든 알고리즘 하나의 단위입니다. 단층 퍼셉트론은 값을 보내는 단계와 값을 받아서 출력하는 두 단계로만 이루어집니다. 각 단계를 층(layer)라고 부르며, 이 두개의 층을 입력층(input layer)과 출력층(output layer)이라고 합니다.

 

- 2가지 연산을 적용하여 출력값을 계산합니다.

  1. 넘겨져 온 데이터와 θ들의 Linear combination
  2. Activation function(활성화 함수)

활성화 함수는 이전 레이어의 모든 입력에 대한 가중 합을 받아 출력 값을 생성하여 다음 레이어로 전달 하는 비선형 함수를 뜻합니다.

 

활성화 함수를 적용해주는 이유는 앞선 선형결합의 결과의 경우 아무리 layer를 쌓더라도 결국

Linear Regression(y = ax + b)의 값만 뱉어내게 됩니다.

 

이러한 한계를 극복하기 위하여 앞선 계산 결과를 비선형 함수로 만들어 주기위해 활성화 함수를 추가적으로 적용해주는 것입니다.

 

활성화 함수

 

단층 퍼셉트론의 한계

단층 퍼셉트론은 AND, NAND, OR문제는 해결이 가능 했으나 XOR(Exclusive OR, 배타적 논리합)문제를 해결하지 못하는 한계가 있었습니다.

결국 이를 극복하기 위해 layer추가하게 되었고 이를 다층 퍼셉트론, Multi-Layer Perceptron(MLP)이라고 부릅니다.

 

01_02 다층 퍼셉트론(Multi-Layer Perceptron, MLP)

다층 퍼셉트론은 단층 퍼셉트론의 입력층, 출력층에 은닉층(hidden layer)를 추가한 형태입니다.

다층 퍼셉트론

만약 은닉층이 2개 이상으로 늘린다면 이를 심층 신경망(Deep Neural Network, DNN)이라고 합니다.

 

아래의 링크를 통해서 layer, learning rate, activation function 등을 수정하며 인공신경망을 통해 어떻게 딥러닝이 답을 찾아가는지 눈으로 확인해 볼 수 있습니다.

 

Tensorflow — Neural Network Playground

Tinker with a real neural network right here in your browser.

playground.tensorflow.org

 

 

<Reference>

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

01) 퍼셉트론(Perceptron)

인공 신경망은 수많은 머신 러닝 방법 중 하나입니다. 하지만 최근 인공 신경망을 복잡하게 쌓아 올린 딥 러닝이 다른 머신 러닝 방법들을 뛰어넘는 성능을 보여주는 사례가 늘면 ...

wikidocs.net

 

 

Activation Function (활성화 함수)

Activation Function이란, 신경망의 출력값을 비선형적으로 변형시키는 역할을 합니다. 신경망의 출력이 선형(Linear)이라면 여러 층으로 쌓은 신경망을 단층 신경망으로 줄일 수 있습니다. 신경망 하

22-22.tistory.com

 

 

 

 

Comments