Books

야사와 만화로 배우는 인공지능 1

yunajoe 2022. 10. 10. 13:27
더보기

1943년 워런 맥컬런과 피츠가 뇌신경을 처음으로 모델링 

1949년 도널드 헵이 <헵의 학습이론>을 발표 

1956년 다트머스회의에서 마빈 민스키가 최초로 인공지능이라는 용어를 사용, 개념을 확립 (기호주의)

- 1956 다트머스 여름 연구 프로젝트=> 뉴햄프셔에 있는 다트머스 대학에서 10여명의 과학자가 모여 인공지능을 연구할 것을 제안(존 메카시, 마빈 민스키, 클로드 섀넌, 레이 솔로모노프, 앨런 뉴얼, 허버트 사이먼, 아서 샤무엘..) 

1958년 플랭클린 로젠블랫이 맥컬런과 피츠의 뇌 모델 + 헵의 학습이론에서 힌트를 얻어 weight를 추가함으로써 퍼셉트론을 만들어낸다

더보기

- 퍼셉트론은 순입력함수의 리턴값을 임계값을 기준으로 1과 -1로 분류. 

- 실제값과 예측값의 활성함수 리턴값이 다를 경우 w(가중치) update 

- 플랭클린 로젠블랫은 당시 주류인 '기호주의' 대신 '연결주의' 를 선택하게 된다

 

기호주의(Symbolism) VS 연결주의(Connection)

더보기

# 기호주의 

- 기호주의는 AI 암흑기(~1980) 라고 불리던 시대에 우세했던 학파

- 컴퓨터 작동 방식에 맞게 기호와 규칙을 사용하는 규칙기반(Rule-Based) 인공지능 

- 컴퓨터 작동 방식으로 인공지능을 구현 할 수 있다는 논리이며, 논리적으로 설명한 문제를 다룬다 

ex) A=B, B=C일때 A=C 로 귀결 시킬 수 있는 인공지능. 간단한 공식으로 운영되는 체스나 장기를 두는 인공지능을 만들때 사용

 

# 연결주의

- 사람의 뇌 구조를 본떠서 기계의 지능을 구현하자고 주장한 학파.

- 연결주의라고 불리는 이유는 ‘뇌 신경망이 시냅스로 여러 뉴런이 연결된 구조’를 가지고 있기 때문. 다시 말해 시냅스 연결을 구현하자고 주장

- 뉴런의 연결을 모방한 정보처리 과정을 사용하는 신경망(Neural Network)기반 인공지능

- 뇌처럼 하나의 개념이 여러 곳에 흩어져서 표현되며, 논리적으로 설명하기 어려운 문제를 다룬다 

- 특정 세기 이상의 값에 도달하면 0과 1로 정보를 처리한다는 개념

- 처음에는 백지 상태이며, 다수의 사례를 주고 경험 함으로써 스스로 천천히 학습

- 연결주의의 알고리즘을 구현한 첫 모델이 "퍼셉트론"

ex) 이미지속의 고양이, 강아지 특징을 인식하고 이를 고양이 또는 강아지라는 결론으로 도출하는 방식을 연결주의 인공지능 

 

마빈 민스키와 시모어 페퍼트는 퍼셉트론의 한계를 수학적으로 증명하면서 플랭클린 로젠블랫를 무너뜨림

- 로젠블랫의 단순 퍼셉트론은 XOR문제를 해결할 수 없다!(By 퍼셉트론즈 - 마빈 민스키의 저서)

 

이후, 신경망에 대한 관심은 줄어들고 다시 인공지능쪽에 관심이 몰리게 되었다 

- 탐색과 문제해결을 위한 새로운 알고리즘들이 개발되고 실험

- 한편 인공지능개발도 한계를 맞이하게 된다(혁신적인 알고리즘의 개발도 계속 나올 수는 없는 법..)

- 알고리즘보다는 응용쪽에 눈을 돌려 전문가 시스템의 구현에 몰두 

 

인공지능VS신경망의 문제해결 방식?!

더보기

# 인공지능 

-  복잡한 문제의 해결을 위하여 여러 가지 형태의 지식을 이용한다. 때로는 인간의 문제해결 행위를 면밀히 관찰함으로써 필요한 지식을 얻기도 한다

- 전문가 시스템의 구현

feat. 전문가 시스템이란?!

인간이 특정분야에 대하여 가지고 있는 전문적인 지식을 정리하고 표현하여 컴퓨터에 기억시킴으로써, 일반인도 이 전문지식을 이용할 수 있도록 하는 시스템

 

 

# 신경망

- 생물학적인 시스템에 근거한 지능적인 시스템의 구현에 노력하고 있다. 생물학적인 시스템은 수많은 단순한 뉴런과 같은 처리기를 병렬로 처리하는 것

- 학습과 병렬처리 구현에 중점

1960 쿠플러 박사는 빛의 정보를 처리하는 각막의 뉴런을 연구

1960년 버나드 위로 교수와 제자 테드 호프가 아달라인(Adaline)을 개발 

더보기

- 순입력함수의 리턴값과 실제 결과값의 오차가 최소화되도록 가중치를 조정 (adaptive)

- 오차를 계산하기 위해 편차제곱을 합한다 (비용함수) 

- 실제값과 예측값의 차이가 있으면 경사하강법으로 가중치를 update 

- 비용함수는 2차 함수인데, 이 곡선의 기울기가 0에 수렴할 때 까지 w를 조정하면 비용함수가 최저가 된다 

- 즉, 비용함수가 최저가 되는 W값을 찾는 문제로 귀결  

 

1969년 브라이손과 위치호에 의해 역전파(Back Propogation)알고리즘이 세상에 나옴

1970년 데이빗 허블과 토르스튼 위즐은 다양한 시각자극에 대한 반응을 기록해 시각정보가 뇌에서 처리되는 과정을 연구 

- 1981년 노벨 생리의학상을 수상 

1979년 쿠니히코 후쿠시마는 네오 코크니트론을 만들게 됨 

네오 코크니트론이란?!

더보기
- 기존의 이미지나 패턴을 인식하는 것은 조금만 그 형태가 왜곡이 되어도 인식이 안 되었음- 후쿠시마 박사는 S-cell과 C-cell의 여러 층으로 네오코크니트론을 만들어 이를 해결함- CNN의 근간 모델(나중에 Yann LeCun의 Back Propagatio이 더해져서 이미지 인식 딥러닝 모델 CNN으로 발전) - 네오 코크니트론의 문자 인식 과정 1. 이미지의 특징을 뽑아냄 2. 오차를 허용한 특징을 만들어냄 3. 조합하여 원래 이미지를 유추 

문자 인식 과정

존 홉필드의 홉필드 네트워크(Hopfiled Network)(1982)

홉필드네트크워란?!

더보기

- 퍼셉트론(perceptron) 등은 연산이나 학습 과정에서 지속적으로 가중치(weight)가 변경되는 알고리즘

- 홉필드 네트워크(Hopfield network)는 고정된 가중치를 이용하여 완전한 정보를 연상

- 홉필드 네트워크 과정

1) 학습 패턴에 양극화 연산을 적용

feat. 양극화란?!

- 양극화(bipolarization): 0과 1로 표현된 데이터를 -1과 1로 변환하는 것

 

2) 학습 패턴에 대한 홉필드 네트워크의 가중치 행렬을 계산

3) 계산된 가중치 행렬을 저장

4) 입력 패턴이 들어오면 저장된 가중치 행렬을 이용하여 입력 패턴에 대한 학습 패턴을 연상

 

1982년 폴 워버스의 Back Probagation 알고리즘의 논문 발표

1982년 존 홉필드의 홉필드 네트워크 

더보기

- 두뇌가 하는 것은 어떤 의미에서 계산이며 상호작용하는 뉴런 기능의 시스템이 

어떻게 수학적 개념과 구조로 기술 되어야 하는지에 대해 눈을 뜸

수상돌기: 입력

세포체: 뉴런(연산)

시냅스: 가중치

축색돌기: 출력

1984년 제프리 힐튼의 볼츠만머신(Boltzmann Machine)

볼츠만머신이란?!

더보기

- 홉필드네크워크에 신경망 알고리즘을 결합시켜 만듬

 

 

1986년 데이빗 럼멜하트와 제프리 힌튼에 의해 Back Probagation이 다시 정리 되어 발표 

더보기

- Back Progation의 알고리즘으로 다층신경망의 문제를 해결 

- 신경망이 깊어질 수록 학습이 힘들어지는 Vanishing Gradient 문제 발생 

 

1989년 제프리 힌튼 교수 지도아래에서 얀 레쿤, 요슈아 벤지오와 함께 네오쿠크니트론(후쿠시마박사)+ 볼츠만 머신 + 백 프로퍼게이션을 결합하여 CNN을 완성 

1991년 유르겐 슈미트 후버 RNN

더보기

- 자연어나 음성등은 시간의 흐름을 알아야 한다

- 기존신경망에 시간의 흐름을 고려한 모델

 - 그러나 구현에 쉽지 않다. 왜냐하면 1보다 작은 가중치를 하다보면 0에 수렴해 버리고, 1보다 큰 가중치를 반복하다보면 무한대로 발산하게 된다

- 이 문제점을 해결한 경험을 가지고 있다. 영화는 이미지를 연속시켜 이전 이미지의 잔상에 새로운 이미지를 더해서 움직이는 효과를 낸다 

 

1991년 셉 호흐라이터의 LSTM, 1997년에 정식으로 세상에 알려진다

더보기

- 계산이 많다보니 성능이 떨어지게 됨

- 이런 문제점을 해결하고자 GRU라는 모델을 제안 (by 조경현 교수)   

1998년 얀 레쿤은 LeNet5를 개발함으로써 딥러닝의 상용화에 성공

LeNet5이란?!

더보기

- 이미지 분류용 CNN 들중 가장 기본적인 알고리즘 

- 다양한 버전 LeNet1..2..가 있지미만 최종이 LeNet5이다

 

테우보 코호넨 자기조직화지도(Self-Oraganization Map) 

더보기

- 대뇌피질의 시각피질의 학습 과정을 모델화한 인공신경망으로써 자율 학습에 의한 클러스터링을 수행하는 알고리즘   

- Step 

1) 연결가중치를 초기화 

2) 새로운 입력 벡터를 제시 

3) 입력 벡터와 모든 뉴런들간의 거리를 제시 

4) 최소거리에 있는 출력 뉴런을 선택

5) 선택된 뉴런과 그 이웃에 있는 뉴런들의 연결 가중치를 조정

6) 지정된 학습횟수까지 반복

델타규칙(Delta Rule) 

더보기

- (실체값-예측값) 계산 오차 보정 

- 여러층의 퍼세브론 환경에서는 적용하기가 쉽지 않음  

2003년 제프리 힌튼, 얀 레쿤, 요슈아 벤지오에 의해 딥러닝의 단어가 생김 

더보기

여러층으로 구성된 신경망을 학습시키는 방법을 찾자 

- 제프리 힌튼이 찾은 방법은 볼츠만 머신

- 요슈아 벤지오가 찾은 방법은 오토 인코더

- 제프리 힌튼, 얀 레쿤, 요슈아 벤지오가 딥러닝 단어를 만듬 

 

2006년 제프린 힌튼 < A fast learning algorithm for deep beliefs nets >

더보기

- 깊은 신경망 학습을 위해서는 초기화 제일 중요하다 

-  그 방법으로 1980년대 초 자신이 연구했던 볼츠만 머신을 응용한 RBM 으로 두개의 층을 쌓아가는 방법을 제시 

(신경망을 RBM으로 초기화하여  Vanishing Gradient 문제를 해결 =>  이는 Vanishing Gradient 문제를 해결 할 수 있다는 가능성을 제시) 

- 좋은 데이터로 잘 학습시키는 것도 중요하지만, 신경망의 초기값을 어떻게 주느냐가 학습에 큰 영향을 미친다 

 

2010년 자비에 글로럿의 정규분포로 초기화 

더보기

- Input노드와 Output노드 수에 비례하여 정규분포로 초기화  

2015년 케이밍 허는 자비에 초기화 방식( Input노드와 Output노드 수에 비례하여 정규분포로 초기화 ) 에서 2로 나누도록 수정 

 

출처: https://untitledtblog.tistory.com/7