Notice
Recent Posts
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
관리 메뉴

생능출판사

[쉬운 딥러닝 책] 4장 3절 : 인공신경망과 딥러닝 : 다층퍼셉트론(FNN) 본문

인공지능

[쉬운 딥러닝 책] 4장 3절 : 인공신경망과 딥러닝 : 다층퍼셉트론(FNN)

생능143 2021. 6. 4. 12:19

 》과 함께 공부해요 : )

  [이론적 배경 1] 통계와 머신러닝

  [이론적 배경 2] 뇌세포를 모방한 기계, 퍼셉트론

  [이론적 배경 3] 활성화 함수

  [이론적 배경 4] 인공신경망과 딥러닝 Artificial Neural Network


이 글은 《쉬운 딥러닝》을 발췌하여 작성되었습니다


1. 인공신경망

 

인공신경망은 영어로 Artificial Neural Network입니다. 인공적인 신경을 그물(network)처럼 연결했다고 해서 인공신경망입니다. 즉, 앞서 살펴본 퍼셉트론을 이리저리 연결하면 그것을 인공신경망이라고 부릅니다. 일반적으로 인공신경망은 마구잡이로 연결하기보다는 한 번에 한 층씩 쌓아 올리는 경우가 많습니다. 한 층의 신경망은 하나의 행렬로 표현할 수 있어 계산이 더 쉽기 때문입니다.

 

한 층짜리 신경망은 아래 그림과 같이 표현될 수 있습니다. 아래 그림에서는 총 k개의 퍼셉트론으로 구성된 한 층짜리 신경망이 표현되어 있습니다. 이 신경망에는 총 N개의 값이 입력되고, 총 K개의 값이 출력됩니다.

 

 

 

2. 딥러닝

 

인공신경망을 여러 층으로 쌓아 올리는 것을 다층 퍼셉트론(multilayer perceptron)이라고 부릅니다. 다층 퍼셉트론을 사용한 머신러닝 알고리즘을 딥러닝이라고 부릅니다. 인공신경망을 깊게(deep) 쌓았다고 해서 딥러닝입니다.

 

예전에는 퍼셉트론을 2층 이상 쌓으면 학습이 불가능했습니다. 2층짜리 퍼셉트론을 그림으로 표현하면 다음과 같습니다.

 

 

 

위 그림은 신경망을 2층으로 쌓은 다층 퍼셉트론 모델입니다. 입력값들로 구성된 맨 왼쪽 노드들은 입력층(input layer), 가운데 있는 첫 번째 퍼셉트론 층은 은닉층(hidden layer), 출력값과 연결된 마지막 층을 출력층(output layer)이라고 부릅니다.

 

이 중 입력층과 출력층은 외부에서 직접 접근하여 조작할 수 있습니다만 은닉층은 아닙니다. 출력층의 경우 출력값과 기댓값 사이의 오차를 구할 수 있으므로 손쉽게 가중치를 수정할 수 있었습니다만, 은닉층에 속한 퍼셉트론의 출력값은 오차를 측정할 기준이 없으므로 은닉층 퍼셉트론의 가중치를 수정할 방법이 없었습니다.

 

컴퓨터 과학자인 제프리 힌턴(Geoffrey Hinton)이 1986년 역전파(backpropagation)라 부르는 획기적인 기법을 발명하였고, 덕분에 은닉층의 학습이 가능해졌습니다. 이때부터 본격적으로 인공신경망을 2층 이상 쌓는 딥러닝 연구가 시작되었습니다.

 

이렇게 제작된 다층 퍼셉트론은 입력받은 정보를 앞으로(forward) 전달합니다. 따라서 다층 퍼셉트론을 FNN(Feedforward Neural Network)이라고 부르기도 합니다. 이 책에서는 다층 퍼셉트론을 FNN이라고 부르겠습니다.

 

 《쉬운 딥러닝》 책에서 FNN 실습을 할 수 있어요~

  AI는 체격을 보고 초·중·고등학생을 구분할 수 있을까?

  AI는 꽃을 구분할 수 있을까?

  분류와 회귀의 차이는 무엇일까?

  AI는 체격만 보고 체중을 추론할 수 있을까?

  [의료 AI] 유전자 분석을 통한 암 진단

  [의료 AI] BMI(비만도) 분석을 위한 키, 체중 추론 AI

 

 

3. 딥러닝은 어떻게 코딩하나요?

 

딥러닝은 인공신경망을 여러 층 쌓은 것이고, 인공신경망은 또다시 여러 개의 퍼셉트론으로 구성되어 있습니다. 따라서 딥러닝은 엄청나게 많은 퍼셉트론을 서로 복잡하게 이어 붙인 모델입니다. 이렇게 복잡한 존재를 어떻게 코딩할 수 있을까요?

 

초기에는 많은 수고가 필요했으나 현재는 텐서플로와 케라스의 등장으로 굉장히 손쉽게 코딩을 수행할 수 있습니다. 이를테면 입력층 사이즈 128, 은닉층 사이즈 128, 출력층 사이즈 16인 인공신경망은 아래와 같이 몇 줄의 코드로 코딩할 수 있습니다. 참으로 좋은 세상이지요 : )

 

 


이 글은 《쉬운 딥러닝》을 발췌하여 작성되었습니다

알라딘 : https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=269891239

 

쉬운 딥러닝

기초적인 딥러닝 기법을 체험해보고, 직접 몇 가지 인공지능을 제작해보는 과정을 소개한다. 특히 복잡한 수식이나 어려운 작동 원리에 집중하기보다는 더욱 손쉽게 딥러닝 인공지능을 설계하

www.aladin.co.kr


 》과 함께 공부해요 : )

  [이론적 배경 1] 통계와 머신러닝

  [이론적 배경 2] 뇌세포를 모방한 기계, 퍼셉트론

  [이론적 배경 3] 활성화 함수

  [이론적 배경 4] 인공신경망과 딥러닝 Artificial Neural Network

 

Comments