AI 인공지능이란 무엇인가?
- AI, 머신 러닝 등의 용어들의 의미와 유래를 정확히 알아보자.
- 뉴런과 그 메커니즘을 알아보자.
위의 다이어그램의 바깥부터 살펴보자.
AI 안에 머신러닝이 정의되고 그 안에서도 뇌를 어떻게 착안했냐에 따라 스파이킹 뉴런, 일반적인 뉴럴 네트워크(인공 신경망)로 나눌 수 있다.
먼저 AI는 인간처럼 목표를 달성할 수 있는 능력을 가진 "똑똑한" intelligent한 기계를 만드는 공학, 과학 분야를 말한다.
1950년대에 John McCarthy 존 매카시라는 컴퓨터 과학자가 처음 정의했다.
Machine Learning 머신 러닝은 명시적으로 프로그램하지 않은 상태에서 컴퓨터가 배울 수 있도록 하는 학문 분야를 말한다. 즉 어떤 한 프로그램이 생성되면 프로그래밍적 지시없이 intelligent한 액티비티를 수행할 수 있음을 말한다.
매번 각기 다른 태스크에 부합하게 프로그램을 짜는 것이 아니라 하나의 머신 러닝 알고리즘을 가지고 "학습"하게끔 하는 것이 장점이자 핵심이다.
Arthur Samuel 아서 사무엘이 1959년에 머신러닝을 정의했다.
그 안에서도 brain-inspired computation이라는 분야가 있다. 뇌의 모습 및 기능에서 영감을 받은 연산이라는 뜻이다. 뇌가 우리가 아는 'machine' 중에 최고이기 때문에 뇌를 모방해보는 건 자연한 수순이다. 단, 이는 뇌 자체를 만드려는 시도와는 다르다.
뇌의 핵심 요소는 뉴런으로 여겨진다. 인간은 평균적으로 860억개의 뉴런을 가진다.
뉴런은 시그널이 입력되는 dendrite 수상돌기와, 시그널이 출력되는 axon 축삭돌기로 이루어진다.
이 입력과 출력 시그널은 activations 라고 일컫는다.
중간에 두 돌기를 잇는 연결부분을 synapse라고 하는데 여기서 시그널이 연산된다.
연산된다는 의미는 그림과 같이 가중치가 곱해지고 bias가 더해진 후 non-linear한 함수를 통과한다는 것을 의미한다.
왜 non-linear한 함수여야되는 지는 다음에 다루겠다.
뇌는 특정 신호를 가중시키고 그 가중치를 변화시키는 방법으로 학습한다고 알려져 있다.
가중치는 변화하지만 뇌의 구성은 바뀌지 않음이 아까 말한 머신러닝의 핵심과 일맥상통한다.
여기서 중요한 용어는 activations와 weight인데 머신러닝 모델을 다룰 때도 이 용어로 입출력 데이터와 가중치를 칭하니 알아두어야 한다.
Brain-inspired computation 패러다임 내에서도 spiking computing이라는 하위 분야가 있다.
여기서 스파이크는 뉴런들의 짧은 전기적 신호를 말한다.
이 분야는 돌기들이 단순히 스파이크의 진폭에 연관해 정보를 전달하는 게 아니라 스파이크 펄스들로 소통한다는 점을 착안했다.
즉 정보는 펄스가 도착하는 시간에 따라 달라진다는 뜻이다.
그래서 뉴런에서 이루어지는 연산도 위의 그림처럼 단일 값 $x_{i}$ 만을 고려하는 것이 아니라 펄스의 폭과 여러 펄스 간의 시간적 관계를 고려해야한다.
이는 딥러닝에서의 연산 개념과는 다른 개념이다. 딥러닝은 시간을 고려하지 않는다.
딥러닝은 다음 페이지에서 알아보자.
출처:
Efficient Processing of Deep Neural Networks: A Tutorial and Survey
Vivienne Sze, Senior Member, IEEE, Yu-Hsin Chen, Student Member, IEEE, Tien-Ju Yang, Student Member, IEEE, Joel Emer, Fellow, IEEE