인공지능 기술의 대중화에 대한 관심이 높아지고 있습니다. 많은 인공지능 기술중에 우리 생활에 밀접하게 다가온 것 중에 하나는 바로 ‘챗봇’입니다.
챗봇이 이슈가 되면서 해외를 비롯하여 국내에서도 미디어, 금융, 유통 등 다양한 업종에서 서비스를 구현하여 사용되고 있습니다.
이번에는 챗봇을 활용한 다양한 서비스 사례에 대하여 알아보도록 하겠습니다.
Perceptron(1)에서는 뉴런에 대해서 알아보았다. 이번 Perceptron(2)에서는 대부분의 인공신경망의 기초가 되는 perceptron의 개념과 학습 알고리즘에 대해 알아보도록 하자
앞서 Perceptron(1)에서 언급한 수학적으로 모델링된 뉴런과 아주 유사한 것이 perceptron입니다. 뉴런이 인체의 뇌의 세포 단위인 것 처럼 perceptron은 인공신경망의 단위다.
perceptron을 단층 신경망이라고도 부른다. perceptron이 뉴런과 다른 점은 perceptron은 활성함수로 하드리미터만 사용하는 것이 아니고, 필요에 따라 다른 함수를 사용하기도 합니다.
perceptron의 기본적인 구조는 다음과 같다.
인풋과 가중치들을 곱한 것들의 합을 구하고, 그 합을 Activation 함수에 넣어 아웃풋을 구하게 됩니다.
위 그림에서 맨 처음 인풋이 1로 되어있는데 이 인풋은 바이어스 값을 계산하기 위해 인풋벡터에 추가하게 된 항이다.
아래 식을 보시면 더 이해가 쉽다. 바이어스 항이 추가되도록 인풋 벡터의 첫번째 성분 자리에 1을 추가해주고 그 웨이트 값으로 바이어스만큼을 주는 것이다.
다음으로 perceptron을 이용해 학습하는 방법에 대해 알아보자..
학습 알고리즘이 유일한 것은 아니지만 가장 대표적인 알고리즘인 Widrow-Hoff Rule을 알아보자.
perceptron을 통해 계산되어 나온 출력값이 목표값과 다르면 그 차이를 최소화 시키는 방향으로 가중치를 변경해주며 목표값에 출력값이 가까워 지도록 하는 것이다.
첫 단계로 가중치와 임계치를 임의의 값으로 초기화해준다.
2단계는 새로운 입력 패턴에 대한 목표 패턴을 제시한다.
기본적으로 perceptron을 통한 학습은 지도학습(supervisor learning)이기 때문에 입력패턴에 따른 목표 패턴을 제시해 주어야 한다.
3단계에서는 입력 패턴의 가중합을 activation 함수에 넣어 실제 출력값을 계산한다.
4단계에서는 계산된 출력값과 목표값의 차이를 이용하여 가중치를 갱신하는 것이다. 목표값과 출력값의 차이를 이용하기 때문에 Widrow-Hoff Rule을 Delta Rule이라고도 부른다.
이 식에서 alpha는 학습률(learning rate)로서 1보다 작은 양수이다. 학습률이 크면 목표값과 출력값의 차이인 델타를 가중치 변화에 크게 반영하게 된다.
일반적으로 학습률이 크면 학습속도가 빠를 수 있지만, 너무 커지면 가중치가 발산할 수도 있다.
만약 이 식에서 델타가 0이라면, 즉, 목표값과 출력값의 차이가 없다면, 가중치는 변하지 않는다.
이 과정을 반복적으로 시행하여 가중치의 변화가 일정 수준 이하가 되면 학습을 종료한다.
4단계에 있는 식에서 입력값이 가중치 갱신하는 데에 필요한 이유는 3단계에 나타나 있는 식에서 알 수 있듯이 입력값이 크면 클수록 목표값과 출력값의 차이를 크게 한 원인일 가능성이 높으므로 그 입력값에 대한 가중치를 더 많이 변경해준다는 의미이다.
다음으로 학습 알고리즘에 대한 이해를 돕기 위해 예제를 보도록 하자.
perceptron으로는 모든 기본 게이트를 학습할 수 없다.
AND gate와 OR gate는 선형 분리가 가능하지만, XOR gate는 직선으로 분리할 수 없기 때문에 perceptron 하나만으로 학습할 수 없다. Activation Function으로 하드리미터 대신 다른 함수를 사용하더라도 마찬가지이다.
선형 분리가 불가능한 문제를 해결하기 위해 다음 Perceptron(3)에서는 Multi-Layer Perceptron(MLP)에 대하여 알아보도록 하자.
최근 메신저 기반의 SNS가 뛰어난 사용성, 편리성을 앞세워 기존 웹.앱 기반 SNS 사용자를 넘어섬에 따라 챗봇에 대한 관심이 급증하였다. 세계적으로 왓츠앱(WhatsApp), 위챗(WeChat), 라인(Line) 등이 2016년 가입자 5억명 이상의 Big 3 메신저 기업으로 성장을 전망하였다. 이에 따라 메신저 앱 위에서 작동하는 '챗봇(ChatBot)' 서비스 관심 증대
사람들은 대부분의 시간을 메신저 앱에서 보내고 있으며 세계적으로 메신저 앱 사용시간이 증가하는 추세다
최근 Facebook CEO 마크주커버그는 새로운 앱을 깔지 않고 메세지를 보내는 방식으로 사업자의 서비스를 이용할 수 있는 챗봇 서비스를 공개 하기도 하였다.
이러한 챗봇의 기술 요소에 대해 설명하자면, 챗봇은 서버(Back-end)에서 인공지능을 통해 사용자의 질의를 분석한 뒤 앱 또는 웹(Front-end)으로 서비스를 제공한다.
- (Front-end) 사용자가 직접 보게 되는 화면으로 주로 모바일 메신저 앱이 사용될 것이며 또는 하이브리드 앱 또는 웹 기술을 주로 사용한다.
-(Middle) 막대한 메세지 트래픽을 처리하기 위해 하둡 같은 분산 컴퓨팅 환경에 적합한 기능을 가진 소프트웨어 사용한다.
-(Back-end) 서버에서는 사용자의 질의에 적절한 답변을 제공하기 위해 자연어처리, 상황인직, 빅데이터 분석 기술을 사용한다.
텍스트 기반 챗봇에는 5대 주요 기술이 필요하며 최근 컴퓨팅 파워의 급격한 향상으로 기술 활용이 용이하다.
국내외 ICT 기업의 챗봇 서비스 개발 경쟁
- 기존 메신저 기반의 기업들이 챗봇 플랫폼과 API를 공개하며 챗봇 시장을 선점해 나가기 시작했다.
자사의 기존 메신저 플랫폼에 인공지능(AI)을 더하여 각종 사업 분야에서 서비스를 지원하기 위해 기술 지원 및 플랫폼을 개방하였다.