Deep Learning 제 2의 뇌

JP Kang·2022년 7월 15일
0

Book

목록 보기
7/8
post-thumbnail

저자소개 : 황태훈

2005년생으로, 현재 서울과학고등학교에 재학 중이다. 지금까지 인공지능에 대한 흥미와 관심을 바탕으로 User Preference Analysis with Multi-Dimensional Vector Clustering, Research on Open Set Recognition Algorithms in Object Recognition 등의 연구를 진행하였다.

<목차>

서론 | 컴퓨터와 인공지능, 그리고 딥러닝

제1장 | 인공지능이라는 프로그램

인공지능은 함수이다
대중매체에서의 인공지능
현대 인공지능의 발전
인공지능의 사회적 영향

제2장 | 딥러닝

인공지능, 머신러닝 그리고 딥러닝
인공신경망의 기초
회귀
인공신경망의 구조
인공신경망의 학습

제3장 | 여러 가지 인공신경망

합성곱 신경망(CNN)
순환 신경망(RNN)
생산적 적대 신경망(GAN)

제4장 | 인공신경망의 개발

데이터 처리
인공신경망의 훈련


220718 |

머릿말

"특이한 인간의 특성은 결국 기계에 의해 모방될 수 없다"는 말은 일반적으로 
위안이 된다. 나는 그런 위안을 줄 수 없다. 그런한계는 정해질 수 없다고 
믿기 때문이다
  										  - 앨런튜링(1951)
  • 많은 인공지능의 연구가 1950년대부터 이어졌지만, 연구에는 당시 몇 가지 컴퓨터의 제한적인 기술적 한계가 있었음.
    1) 1948년까지의 컴퓨터는 명령어를 저장할 수 없었다(즉결입력처리). 덧붙혀, 1949년 수은 관에서의 초음파 발생이나 전자 튜브를 메모리 저장 용도로 사용할 수 있게 되었으나 프로그램을 저장하는 용량부족.
    2) 컴퓨터의 가격이 비쌌음. 운영비 또한 비쌈.

  • 그러나 시간이 지나면서, 인공지능으로의 지원금이 부족했음에도, 컴퓨터의 성능은 이론적 지식을 넘어서려는 시점이 오게 되고, 4차 산업혁명으로 빅데이터가 모이며 급격한 인공지능의 발전을 이뤄, 사람이 처리하기 불가능한 양의 정보를 인공지능이 해결 해 나가고 있음. 일상 속에서 인공지능이 없는데가 없을 정도가 됨. 딥러닝의 왜 인공지능의 주체가 되는지 알아보자.

220721 |

1장 | 인공지능이라는 프로그램

인공지능은 함수이다

  • 위키피디아의 함수는 '어떤집합의 각 원소를 다른 집합의 유일한 원소에 대응시키는 이항관계'라 함. 저자는 '입력이 주어지면, 이에 대한 출력을 주는 수학적 관계'라고 또 다르게 해석. 책에서는 입/출력을 숫자만 다루지만, 꼭 1개의 숫자라고 생각할 필요는 없음. 그리고 함수에 따른 이론은 인공지능에도 곧 잘 적용됨 후훗~!

  • 간단한 예, 사람의 체중, 체열, 키를 보고 감기 걸렸는지를 판단하는 인공지능이 있을 때, 식은 f(체중, 체열, 키) = 감기 여부 로 정의 될 수 있지. 그렇다면 인공지능은 감기가 있으면 1, 없으면 0을 출력 할 때, 식에서와 같이 체중, 체열, 키 3개의 숫자(인자값 또는 요소)에 따른 출력이 생기겠쥐..

  • 하나의 분야에 인공지능이 하나라고 볼 수는 없는데, 예가 '자율 주행'의 경우에도 1) 상대방과 차의 거리를 보고 제동 여부를 결정하는 인공지능 , 주변의 차선을 인식하여 운전대를 조작하는 인공지능 , 지나가는 사람이나 동물을 파악하는 인공지능의 집합체로 이뤄진 것.

  • 어떻게, 물체의 움직임에 의한 제동 여부를 숫자로 입력받아 출력되는 것일까? 입력으로 주어지는 데이터는 2차원형태의 이미지(픽셀단위)이므로, 이미지 색깔을 3개의 숫자로 나타내어 인공지능이 알게하는거임 그게 RGB(Red, Green, Blue)임. 각각의 강도를 0에서 255로 사이의 값으로 색의 구분을 가지고, 숫자의 구분을 가진다. 픽셀 하나를 한 개의 수로 보고, 가로x세로 = 28 픽셀 x 28 픽셀이라면 입력받는 숫자갯수는 28 x 28 x 3(RGB) = 2352. 이런식으로 컴퓨터 뇌인 인공지능이 만들어지는 것 ㄷㄷㄷ.

대중매체에서의 인공지능

  • 국비지원교육에서 인공지능(AI) 4대천왕을 제프리 힌튼(Geoffrey Hinton), 얀 르쿤(Yann LeCun), 요수아 벤지오(Yoshua Bengio), 앤드루 응(Andrew Ng)로 나눈다더라ㄷㄷ 이들이 수년 앞서서 인공지능을 연구 할 때, 비확실성의 연구에 많이들 멸시와 능멸을 줬다던데;; 저자는 내 의견과 다르게 많은 이들이 인공지능의 미래가능성을 과대평가 한다고 믿는다 생각함. 20년전만 하더라도 하대받던 인공지능이, 방대한 데이터로 급격히 성장한 인공지능의 발달에 싣은 큰 기대감과 희망이라 생각한다.(실제로 멸시받던 4대천왕은 지금은 공룡기업에 고용되어 억대연봉자들임)

  • 허나, 현시점과 비교할 때 영화나 드라마 등의 인공지능 묘사는 심히 과정된게 사실이나, 사람들의 바람이 들어 있다 생각함. 2010년에는 2000년보다 인공지능 관련 영화가 150% 증가. 관심이 늘어난 만큼 과장과 걱정도 늘었음.

현대 인공지능의 발전

  • 인공지능의 발전정도를 측도할 때, 인간의 지능을 기준삼아, Artificial Narrow Intelligence(ANI), Artificial General Intelligence(AGI), Artificial Super Intelligence(ASI)로 나뉨.

  • ANI는 인간의 지능보다 낮은수준의 지능이며, Apple의 siri, Google의 Alpha Go가 이에 해당됨.

  • AGI는 인간의 지능을 넘어가는 분기점. 인간이 그림을 그리거나 음악을 작곡할 때 사용되는 창의력이나 모방을 통해 자신의 것으로 새롭게 표현하는 창작물 정도 되는 레벨의 지능.

  • ASI는 인간의 지능을 초월한 지점. 기술적 특이점이라 칭하고, 이 시점의 인간이 인공지능을 통해 급진적 성장을 하는 시기라 추측기대.

  • 내가 보는 22년 기준에 인공지능은, AGI까지는 온 거 같음. 모듈이 수없는 훈련을 통해 창작물을 만들고, 예술적인 그림도 표현하는 거 같음. 아직까지 AGI의 대중화는 안돼있고, 실험단계이며, ANI를 다시 볼 때, 물리 시물레이션의 연산량을 줄여줘 우주 항공, 건축학 등의 발전에 이바지 함.

220722 |

인공지능의 사회적 영향

  • 먼 훗날 얘기라고 믿고 싶지만, 가까운 지금의 현실은 인공지능이 많은 분야를 점령해 실업자들이 늘어나는 추세라고 생각됨. 그걸 보완하기 위해 국가는 UBI(Universal Basic Income) 프로그램을 진행 할 것으로 추측.

2장 | 딥러닝

인공지능, 머신러닝 그리고 딥러닝

  • 머신러닝 프로그램은 스스로 오류를 계산하고, 오류최소화를 위해 내부 변수를 업데이트 함. 딥러닝은 머신러닝의 일부로, 인공신경망 기법을 통해 높은 수준의 추상화를 하는 단계의 프로그램.

인공신경망의 기초

  • 기본적으로 인공신경망의 초기상태에서는 내부에서 변수들이 무작위 지정됨 -> 무작위 출력 -> 변수값 수정/업데이트(오차 계산 함수정의) -> 정확한 값/원하는 값의 출력

  • 예상하는 출력의 변수를 주로 y로 두고 오차가 0이라면, 입력값과 출력값이 거의 완전히 일치함을 의미. 위 과정과 오차의 범위를 줄이면, 훈련하는 과정을 진행을 더 나아가서 해 볼 수 있음(수십만 개의 예시 입력과 예상출력 필요).

회귀

  • 인공지능을 수없이 학습 시켜서 원하는 답을 스스로 찾는 것이 어떻게 되는지 생각한다면, 답은 회귀에 있다.
    회귀는 인공싱경망이 궁극적으로 수행하는 과정인데, 여러점들을 가장 잘 나타낼 수 있는 함수를 찾아가는 과정임. 여러가지 종류 중 가장 유명한 것은 선형회귀이다.

  • 물론, 반복훈련과정을 통해 수학적연산을 나타내는 함수로 인공신경망은 회귀를 진행하지만, 굴곡을 이루는 비선형회귀로 표현하려 함.

[ 왼쪽부터 초기인공신경망 / 훈련된 인공신경망 /
훈련된 인공신경망에 훈련데이터에 없는 입력에 대한 출력 ]

인공신경망의 구조

  • 인공신경망은 노드(Node)라는 기본적인 단위로 이뤄져 하나의 노드가 하나의 입력 i를 받아, 적절한 연산 f(x)를 취한 이후 1개의 값 o를 출력함 (o = f(x) = i). 이렇게 입력에 대해서 어떠한 연산도 진행하지 않고 그대로 출력하는 관계를 항등 함수라 한다. 노드는 하나의 함수 역할을 해주고 인공신경망은 이 노드의 함수들을 조합/합성하여 입력을 통해 출력을 계산하는 하나의 전체적인 함수 만듦. 인공신경망 전체를 g(i)=i로 표현하기도 함.

  • 그러나, 인공신경망의 다양한 연산을 유도하기 위해 항등 함수 형태로 둘 수는 없으니, 비선형회귀를 진행할 수 있도록 추가해주면서 가장 첫 번째 연산이 노드와 연관된 새로운 인공신경망 구성 요소가 있으니 그개 가중치(Weight, w)임.
    가중치는 들어오는 입력에 특정 값을 곱해준 다음, 그 값을 노드에 입력으로 전달해 줌. 유의점은, f(x) 자체가 변화한 것이 아니라, f(x)로 들어오는 입력값에 가중치가 곱해진 것!! (o = f(i*t)= i*w - 가중치가 있는 입력을 받은 기본적인 노드 식)

  • 위 가중치가 있는 입력을 받은 기본적인 노드식에서 노드 자체에 변화는 없지만, 입력으로는 원래의 입력 i에 w의 가중치가 곱해져 있는 상태를 받게 됨. 즉 가중치가 기본적으로 하는 일은 입력의 상수 배를 노드에게 전달하는 것!! 이후 항등함수와는 다르게 기울기가 w인(직선 아님) 그래프를 그려 인공신경망이 지속적으로 훈련할 수 있음을 알 수 있음.

profile
자기개발자중

0개의 댓글