Neuro-symbolic AI 에 대해서 (1) symbolism VS Connectionism
AI 학회 speech : AAAI-20 Invited Talk : David Cox (https://vimeo.com/389562304) 의 강연을 듣고 스터디한 내용이다.
추가적으로 https://www.youtube.com/watch?v=jYn1qfoty_Y <Information and Intelligence> 유튜브 채널의 <오늘의 연구와 뉴스 : Neuro-Symbolic AI> 를 참고했다.
Neuro-symbolic AI 란 무엇일까?
Logical Inference 를 수행하는 능력은 인간 지능과 딥러닝으로 구현된 AI 를 구분한다. 이러한 격차를 해소하기 위해서 “neuro-symbolic deep learning approach” 에 대한 연구가 수행되었다.
먼저 AI 시초를 살펴보면 Connectionism VS Symbolism 의 대결구도를 볼 수 있다.
* Symbolism : Intelligence can be achieved by the manipulation of symbols, through rules and logic operating on those symbols.
* Connectionism : Intelligent thought can be derived from weighted combinations of activations of simple neuron-like processing units.
- Connectionism 은 모든 것이 연결되어 있는 네트워크로 구성되어있고, 노드들이 서로 interconnected 되어 시스템을 이루고 여기서 intelligent decision-making 이 나온다는 이론이다. 보통 딥러닝의 과정이라고 생각하면 된다.
- Symbolism 은 세계는 구조화된 representations 으로 이해될 수 있고, 세계의 것들은 symbols 로 나타낼 수 있으며 이런 것들이 모여 cognition 을 만들 수 있다는 이론이다. Symbolic processing 은 symbols 을 통한 rules, operations 을 이용해서 encode understanding 되는데, 이 rules 들을 “expert system” 이라고 하고, 주로 if/then 형식이다. 보통 human experts 가 새로운 정보를 expert system 의 knowledge 에 제공하고, 이 knowledge 는 “inference engine” 이 참고한다. Inference engine 은 특정 symbol 에 적용할 수 있는 rules 를 앞의 knowledge 를 참고하여 선택하게 된다. 이러한 과정을 통해 Inference engine 은 knowledge base 를 기반으로 conclusion 을 만들어낼 수 있고, 이 결론을 input 에 적용하여 답을 낼 수 있게 되는 것이다.
- connectionist apple : 데이터 기반으로서 interconnecting 하면서 연결고리를 찾느냐
- symbolic apple : 처음부터 구조를 짜고 연결구조를 보는 것이냐
이 그림은 90년대 초반에 논문 안의 그림인데, 논문을 쓸 정도로 connectionism, symbolism 서로 사이가 안좋은 대결 구도 느낌이었다. AI 초창기 때 40-50년대부터 시도가 된 것들이고, 초기에는 connectionism 이 트렌드를 타다가 컴퓨터 보급과 함께 symbolic 한 것이 완승하게 되고, 최근 딥러닝 때문에 다시 connectionism 이 부활했다. 요즘은 symbolism 을 옛날식 오래된 AI 라고 치부를 할 정도로 역전이 된 상황이다.
잠깐 전통적인 AI 의 분파들을 살펴보자.
여기서 기본적으로 가장 유명한 분파가 5개 있는데,
이는 Bayesians, Evolutionists, connectionists, symbolists, kernel conservatives 이다.
앞서 말했던 connectionism 과 symbolism 이 서로 대결하는 것보다 collaborate 하면 더 좋은 결과가 있을 것 같다. David Cox 의 강연도 이 두가지가 콜라보할 수 있는 방법에 집중한 강연이다.
이 두가지를 다 적용한 방법이 바로 “Neural symbolic AI” 이다. Neural symbolic AI 의 핵심은 neural networks 과 symbolic AI 의 장점을 합친 것이다.
- neural networks : 원래 symbolic AI 는 인간 프로그래머가 정보를 제공했다면, neural networks 가 symbols 만드는 것을 도와줄 수 있다.
- symbolic AI : 맨날 나오는 딥러닝의 약점인 ‘common sense’ 즉, 상식에 대한 추론이나 기존 지식을 적용하는 부분, 이런 것을 symbolic AI 를 통해 보완할 수 있다.
- 실제 세계는 굉장히 복잡하고 고려해야할 것도 많은데, 이를 symbolic representation 으로 표현하기가 인간 프로그래머로서는 매우 어렵다. Symbol 로 표현하는 것도 어렵고, 규칙으로 정의하기도 어려운데 이러한 것을 신경망을 이용하면 신경망은 데이터가 굉장히 많으니 복잡한 것들에 대해 여러가지 correlation 을 쉽게 찾을 수 있고, 여기서 힌트를 얻으면 symbolic representation 도 쉽게 만들 수 있다. 이제 여기서, symbolic AI 를 이용해 만들어진 symbolic representation 을 가지고 reasoning 하면서 엄청난 윈윈 결과를 가져올 수 있게 되는 것이다.
최근 symbolic AI 의 6가지 연구들을 살펴보면 아래와 같다.
- Neurosymbolic safe ML/RL 의 경우에는 transparency, interpretability 에 강점이 있고, 세번 째 Neurosymbolic NLU 의 경우에는 자연어에 대한 이해, 즉 어떻게 언어를 처리하고 이해하는지에 대한 도움을 줄 수 있다.
여기서 첫번째 기초 글을 마치고 두번째 글에서 강연에 대한 내용을 자세히 다뤄보겠다.
(출처 : 해당 글의 이미지들과 ppt 자료들은 AI 학회 speech : AAAI-20 Invited Talk : David Cox 의 발표자료와 <Information and Intelligence> 유튜브 채널의 <오늘의 연구와 뉴스 : Neuro-Symbolic AI> 의 영상자료에서 가져왔다.)