• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Electrical Engineering, GangneungWonju National University, Korea)
  2. (Dept. of Electrical Engineering, GangneungWonju National University, Korea)



AI, CNN, IoT, Smart toy, Voice command, Voice learning

1. 서론

지금까지는 인터넷에 연결된 기기들이 정보를 주고받으려면 인간의 조작이 개입되어야 했지만, 사물인터넷(IoT : Internet of Things) 시대가 열리면 인터넷에 연결된 기기는 사람의 도움 없이 서로 정보를 주고받으며 대화를 나눌 수 있게 된다(1). 현재 세계적으로 사물인터넷 기술을 이용하여 다양한 분야에 접목하려는 시도들이 진행되고 있다(2).

스마트 토이(Smart Toy)는 IoT 기반 기술과 하드웨어 모듈화를 접목한 완구시스템이다. 개발 및 확장이 쉬운 아두이노(Arduino)를 중심으로 다양한 연구가 진행되고 있으며, 응용 서비스를 제공하고자 하는 연구가 진행되고 있다(3). 현재 스마트 토이는 국내 통신사의 통신 기술을 기반으로 다양한 플랫폼이 출시되고 있으며, 토이 서로간 응용서비스의 콘텐츠 결합 및 호환성의 문제를 해결하기 위하여 플랫폼의 표준화 및 콘텐츠 개발을 위한 API 연구를 통해 콘텐츠간 서비스 페어링의 문제를 해결한 사례가 있다(4,5).

한편, 컴퓨터의 소프트웨어 및 하드웨어의 발전으로 인해 계산 및 정보처리 속도가 가속화되고 있으며, AlphaGo 이후 인공지능(AI : Artificial Intelligence)에 대한 능력 및 실현 에 관심이 증대되고 있다. 심층학습(Deep Learning)이란, 순방향 신경망(Feed Forward Neural Network)에서 은닉층의 개수가 2개 이상인 신경망을 의미한다. 종래에는 신경망의 층수가 증가할수록 모델의 해가 국부적인 최솟값을 벗어나지 못하거나 최적 해로 수렴하는 데 수많은 반복 계산이 발생하는 문제가 있었다. 이러한 현상이 나타나는 원인은 신경망 층이 증가하면서 출력층의 정보가 역전파(Back Propagation) 되는 과정에서 판별력이 소멸되기 때문인데, 1990년대에 이러한 문제는 여러 연구를 통해 해결되었다. 1970년대 말 소개된 합성곱 신경망(CNN: Convolutional Neural Network) 이론은 1980년대 말 역전파 이론에 적용되어 이미지 인식 분야에 큰 발전을 가져왔고, 현재 음성인식 분야에도 널리 적용되고 있다(6). 최근, 자연어처리 (NLP : Natural Language Processing) 연구를 위해 문장 분류를 위한 합성곱 신경망과 문장작성을 위한 합성곱 신경망이 제안되었다(7,8). 하이브리드 신경망에 대한 텍스트 표현의 새로운 방법과 문단에 대한 질문 응답을 위한 새로운 계층적 합성곱 신경회로망이 발표되었다(9,10).

본 논문에서는 인공 지능 기반 음성 비서 기술을 스마트 토이에 적용하여 CNN을 이용한 음성명령 학습을 연구한다. 인간의 목소리 명령을 받은 스마트 토이는 목소리를 인식하고 이를 텍스트로 변환하고, 형태소를 분석한 후, 태깅(Tagging) 및 음성학습을 CNN에 의하여 수행하게 된다. 본 논문에서는 스마트 토이의 소개와 구성, 학습프로세스 및 파이썬(Python)을 이용한 구현 및 시험에 대하여 논하고자 한다.

2. 스마트 토이

△△△스마트 토이는 국내에서 소프트웨어 교육용 교재 및 스마트 장난감으로 사용하기 위해 개발되고 있는 새로운 개념의 스마트 토이 모델이다. 그림. 1은 △△△ 스마트 토이의 개략도를 나타낸다. 이 스마트 토이는 크게 토이(3D 모델), 엔진(H/W), 프로그램(S/W)로 구성된다. 토이는 3D 프린팅을 이용하여 사용자 개인이 맞춤형으로 제작하고, 엔진은 아두이노 또는 라즈베리 파이(Raspberry Pi)로 제작하여 토이 엔진을 커스터 마이징(Customizing)하고, 토이 프로그램은 스크래치(Scratch) 또는 파이썬으로 구성하여 사용자가 토이의 동작을 직접 컨트롤 할 수 있다는 장점이 있다(11,19).

그림. 1. 스마트 토이의 개략도

Fig. 1. System diagram of smart toy

../../Resources/kiee/KIEE.2018.67.9.1210/fig1.png

2.1 음성명령 스마트 토이

스마트 토이와 음성인식 기능과 음성학습 기능을 접목시키면 사용자의 학습된 음성명령으로 토이를 구동할 수 있다. 그림. 2는 음성명령 스마트 토이의 구성을 나타낸다. 음성명령 스마트 토이는 사용자의 음성명령을 학습시키는 모바일 단말기(스마트폰 어플 또는 음성비서 기기)와 사용자의 음성명령에 대해 분석하고, 학습을 수행하는 스마트 토이 AI 서버 및 음성명령에 따라 동작을 수행하는 스마트 토이로 구성된다.

그림. 2. 음성명령 스마트 토이의 구성

Fig. 2. Configuration of voice command smart toy

../../Resources/kiee/KIEE.2018.67.9.1210/fig2.png

2.2 음성명령 스마트 토이의 학습 프로세스

표 1은 음성명령 스마트 토이의 학습 프로세스를 나타낸다. 학습 프로세스는 표 1과 같이 음성명령 학습단계와 음성명령 수행단계로 나누어진다. 스마트 토이의 음성명령 및 학습 프로세스는 단계1 음성명령, 단계2 음성명령해석, 단계3 음성명령확인, 단계4 스마트 토이 구동, 단계5 음성명령학습으로 나뉜다. 이와 같이, 사용자의 음성명령에 대해 학습된 명령이 있는지를 판단한 후, 스마트 토이 구동 명령으로 보내거나, 음성명령 학습을 하게 된다.

표 1. 학습 프로세스

Table 1. Learning process

단계

설명

음성명령

학습단계

∙사용자는 단말(스마트폰 전용 APP)을 통해서 음성명령을 전달함

∙음성명령은 AI서버로 전송해서 음성명령을 해석하고 학습함

음성명령

수행단계

∙AI 서버에서는 학습된 명령을 스마트 토이에 전달함

∙음성명령은 스마트 토이가 직접 받아 학습된 음성명령이면 수행하고 그렇지 않으면 사용자에게 모르는 명령이라는 표시를 함

∙학습된 음성명령으로 확인되면 스마트 토이는 명령을 해석하여 구동함

3. CNN을 이용한 스마트 토이의 음성패턴 인식

사람의 시각인지 과정을 모방한 합성곱 신경망은 태생적으로 컴퓨터 비전 분야에서 독보적인 방법으로 사용되고 있으며, 다양한 형태의 데이터에서 원하는 특성을 추출하는 데 탁월한 성능을 보여주기 때문에 신호처리나 음성인식 분야 등 여러 분야에서 활용되고 있다.

3.1 CNN

딥러닝 모델은 최근 몇 년간 컴퓨터 비전과 음성인식 분야에서 주목할 만한 결과를 이끌어냈다(8). 합성곱 신경망은 심층신경망(DNN:Deep Neural Network)의 하나로서, 국부적인(Local) 특성에 적용되는 컨볼루션 필터(Convolution Filter)를 갖는 층을 이용한다(9).

그림. 3은 자연언어처리에 효과적인 합성곱 신경망(CNN)의 모델 구조를 나타낸다. 합성곱 신경망의 모델 구조는 Collobert의 JLMR 2011 논문(7,15)에서 사용한 CNN 모델에 기반한 구조이다. 그림. 3에서, n은 문장에 나오는 단어의 개수, k는 단어 벡터의 차원, h는 필터 윈도우 크기를 의미한다.

그림. 3. CNN의 구조

Fig. 3. Structure of CNN

../../Resources/kiee/KIEE.2018.67.9.1210/fig3.png

길이 n의 문장은 word vector Xi를 연결해 식(1)과 같이 표현된다.

(1)
X 1 : n = X 1 X 2 X n

이때, 는 연결(Concatenation) 연산자를 의미한다. 합성곱 연산은 윈도우 크기 h 단위로 이루어지며, 필터의 가중치 w에 대해 특징 ci식(2)와 같이 계산된다.

(2)
c i = f ( w 1 x i : i + h - 1 + b )

식(2)에서 f는 non-linear(ReLU : Rectified Linear Unit) 함수, b는 bias를 의미한다. 모든 word window [x1:h, x2:h+1, ···, xn-h+1:n에 필터를 적용해 식(3)과 같이 특성 지도(Feature Map)를 계산한다.

(3)
c = [ c 1 , c 2 , , c n - h + 1 ]

여기에 max-pooling 연산을 거쳐 얻은 최대값을 fully- connected layer에 입력한다. Fully-connected layer에는 드롭아웃(Dropout)을 적용하고 마지막 단계에서 softmax 출력을 얻는다(7,15).

3.2 CNN에 의한 음성패턴 인식

그림. 4는 CNN을 이용한 음성학습 처리의 개략도를 나타낸다. 그림. 4와 같이, Google의 Cloud Speech를 이용하여 음성데이터를 기호화 한 후, 텍스트로 전환하는 전처리과정을 통해 학습용 패턴을 생성하였다. 이를 CNN에서 학습을 통해 처리한 후, 디코딩 및 복호화하여 컨트롤러에 전달하며 이 컨트롤러는 스마트 토이의 동작을 수행하게 된다.

그림. 4. 음성학습 처리의 개략도

Fig. 4. Systematic diagram of voice learning processing

../../Resources/kiee/KIEE.2018.67.9.1210/fig4.png

3.3 파이썬을 이용한 구현 및 시뮬레이션

그림. 5는 Python으로 합성곱 신경망을 이용하여 개발한 음성학습 시뮬레이터를 나타낸다. 이 시뮬레이터의 딥러닝 알고리즘은 CNN으로 구성되어 있는데, 그림. 5의 (a) 부분과 같이 학습데이터 및 시험데이터를 불러올 수 있고, (b) 부분과 같이 학습 반복 횟수(Number of Repetitions), 임베딩 벡터 크기(Embedding Size), 필터 크기(Filter Size), 채널 수(Number of Channel), 학습률(Learning Rate) 등을 설정할 수 있으며, (c) 부분과 같이 시뮬레이션 결과를 확인할 수 있도록 하였다.

그림. 5. CNN을 이용한 음성학습 시뮬레이터

Fig. 5. Voice learning simulator using CNN

../../Resources/kiee/KIEE.2018.67.9.1210/fig5.png

그림. 6은 학습데이터를 나타낸다. 학습데이터는 사람의 음성명령을 텍스트로 변환하여 전처리한 데이터이다. 학습데이터 행렬은 114×67으로서, 텍스트(.txt) 파일 형식으로 작성되었다. 각각의 객체는 탭(Tap)으로 구분되어 있다. 첫 번째 행(Row)은 사람의 음성명령 ‘앞으로 가’에 해당한다. 먼저, ‘앞으로 가’ 라는 명령을 형태소 분석을 통해 ‘앞’, ‘으로’, ‘가’로 분리한다. 분석된 형태소는 IDS (Intelligent Data Systems) 연구실의 자연어 처리를 위한 ‘꼬꼬마 형태소 분석기’를 사용하여 품사 태깅을 진행하였다. 그 다음 학습데이터 생성을 위해 자체적으로 제작한 형태소 사전을 참조하여 각 형태소와 품사를 16진수로 맵핑하고, 10진수로 변환하였다(20).

그림. 6. 학습데이터

Fig. 6. Training data

../../Resources/kiee/KIEE.2018.67.9.1210/fig6.png

‘앞’은 형태소 사전에서 순서가 1179번째에 위치하고, 품사는 일반명사(NNG)이므로 ‘0’에 해당한다. 마찬가지로 ‘으로’, ‘가’에 대해서도 변환하면 ‘앞으로 가’는 1179, 0, 30, 22, 177086, 6과 같이 변환된다. 각 행은 사람의 음성명령(‘앞으로 가’ 부터 ‘오른쪽 뒤로 이동해요’ 까지 114개)을 나타낸다. 각 열(Column)은 60열 까지 형태소 분석 된 음성명령의 전처리 데이터 및 패딩(Padding)값 ‘1’이 입력되고, 61열 부터 67열까지 스마트 토이의 동작을 나타내는 7bit 판별값(1,0,0,0,0,0,0 : 전진, 0,1,0,0,0,0,0 : 후진, ..., 0,0,0,0,0,0,1 : 우측으로 후진)이 입력된다(19).

그림. 7은 21 × 67인 시험데이터 행렬을 나타낸다. 시험데이터는 학습데이터와 마찬가지로 전처리된 데이터를 텍스트 파일 형식으로 작성하였으며 각각의 데이터는 탭으로 구분되어 있다.

그림. 7. 시험데이터

Fig. 7. Test data

../../Resources/kiee/KIEE.2018.67.9.1210/fig7.png

첫 번째 행은 사람의 음성명령 ‘앞으로 가보라우’에 해당한다. 먼저, ‘앞으로 가보라우’ 라는 명령을 형태소 분석을 통해 ‘앞’, ‘으로’, ‘가보’, ‘라’, ‘우’로 분리한다. 그 다음 형태소 사전을 참조하여 각 형태소와 품사를 16진수로 맵핑하고, 10진수로 변환하였다. 학습데이터의 형태소 분석과 마찬가지로 분석하면, ‘앞으로 가보라우’는 1179, 0, 30, 22, 183569, 6, 866, 37, 177402, 6과 같이 변환된다. 마지막 행은 사람의 음성명령 ‘멈처’에 해당한다. ‘멈처’는 형태소 분석을 통해 ‘머’, ‘ㅁ’, ‘처’로 분리된다. 형태소와 품사를 16진수로 맵핑하고, 10진수로 변환하면 ‘멈처’는 177588, 7, 195, 39, 1231, 0과 같이 변환된다. 각 행은 사람의 음성명령(‘앞으로 가보라우’ 부터 ‘멈처’ 까지 21개)을 나타낸다. 각 열은 60열 까지 형태소 분석 된 음성명령의 전처리 데이터 및 패딩값 ‘1’이 입력되고, 61열 부터 67열 까지 스마트 토이의 동작을 나타내는 7bit 판별값(1,0,0,0,0,0,0 : 전진, 0,1,0,0,0,0,0 : 후진, ..., 0,0,0,0,0,0,1 : 우측으로 후진)이 입력된다.

표 2는 시뮬레이션 조건에 따른 손실(Loss), 정확도(Accuracy), 수행 시간(Time)을 나타내고, 그림. 8은 CNN에서 입력데이터가 5×5인 경우, 필터 크기가 3일 때 연산과정을 나타낸다. 그림. 9는 학습 및 시험데이터 불러오기와 반복횟수, 벡터 크기 등 머신러닝의 환경을 설정할 수 있는 초기화면을 나타낸다.

표 2. 시뮬레이션 조건

Table 2. Condition of simulation

반복 횟수

벡터 크기

필터 크기

채널수

학습률

손실

정확도 [%]

수행 시간 [s]

500

100

3, 4, 5

100

0.01

3.79

62.5

55

0.02

0.50

87.5

72

0.03

0.00

100

62

0.04

80.04

87.5

65

그림. 8. CNN의 필터 크기가 3일 때 연산과정

Fig. 8. Computation process of CNN (filter size : 3)

../../Resources/kiee/KIEE.2018.67.9.1210/fig8.png

그림. 9. 학습 및 시험데이터 불러오기 & 머신러닝 환경설정

Fig. 9. Import training and test data & ML configuration

../../Resources/kiee/KIEE.2018.67.9.1210/fig9.png

그림. 10은 시뮬레이션 결과를 나타낸다. 그림. 10에서와 같이, 시뮬레이션 결과에는 정확도 및 손실 그래프, 학습에 소요된 시간이 표시된다. 학습이 반복 횟수까지 진행되는 동안 실시간으로 그래프 및 시간이 표시되도록 설계하였다. 시뮬레이션 결과 정확도는 100%, 손실은 0, 시뮬레이션 시간은 76초가 소요되었음을 알 수 있다.

그림. 10. 시뮬레이션 결과

Fig. 10. Result of simulation

../../Resources/kiee/KIEE.2018.67.9.1210/fig10.png

표 3은 학습이 진행되는 단계, 손실, 정확도를 나타낸다. 시뮬레이션이 진행되는 동안 Windows Powershell 창을 통해 결과를 실시간으로 표시되도록 구현하였다. 표 3의 첫 행 Step 453은 453번째 반복 횟수, 이때 손실(Loss)은 21.29, 정확도(Acc)는 0.875를 각각 나타낸다. 즉, 학습률이 0.03일 때 Loss는 12.51, Acc는 0.875가 되는데, Loss와 Acc는 변동하면서 수렴하는 것을 알 수 있었다.

표 3. 시뮬레이션 결과

Table 3. Result of simulation

Step

Loss

Acc

453

21.29

0.875

454

20.78

0.750

···

···

···

499

0.00

1.000

500

12.51

0.875

4. 결 론

본 논문에서는 인공지능 기법을 이용한 스마트 토이의 음성학습에 관한 연구로써 스마트 토이의 개요, 합성곱 신경망 이론 및 파이썬 프로그래밍을 통한 시뮬레이션 개발에 대해 논의하였다. 합성곱 신경망은 여러 장점들로 인해 자연어처리 분야에서 빈번하게 사용된다. 본 논문에서는 파이썬을 이용한 합성곱 신경망을 스마트 토이의 음성명령 학습을 위해 구현하였고, 구현된 시뮬레이터를 통해 사용자의 전처리된 음성명령을 학습하고, 음성명령 시험 패턴을 동해 성능평가를 진행하였다. 다양한 조건의 시뮬레이션을 통하여, 반복횟수 500회, 임베딩 벡터 크기 100, 컨볼루션 필터 크기 3, 4, 5, 채널 수 100, 학습률 0.03일 때 가장 좋은 결과를 얻을 수 있었다.

합성곱 신경망을 이용한 음성명령 학습이 가능한 스마트 토이의 개발을 통해 어린이부터 성인까지 다양한 계층의 사람들에게 유익과 재미를 선사할 것으로 기대된다. 현재, 인간의 복합 음성명령 학습에 대하여 연구가 진행 중에 있다.

감사의 글

본 연구는 2017년도 중소기업기술정보진흥원의 지원에 의하여 이루어진 연구로서, 관계부처에 감사드립니다.

References

1 
Hong Y. G. et al., 2013, Internet of Things(IoT/M2M) Standardization Trend, OSIA S&TR JOURNAL, Vol. 26, No. 2, pp. 8-17Google Search
2 
Beam company , BeamBrush Smart Bluetooth Toothbrush for Kids, Data Sheet, pp. 1-2Google Search
3 
Lee M. S., Kim D. M., 2017, A Study on the Design of Smart Toy Service Platform based on Cloud Service, KIPS Fall Conference, Vol. 24, No. 2, pp. 1120-1122Google Search
4 
Kim D. M. et al., 2015, A Study on the Construction of Toy-World and Toy-Cloud Environment for Smart Toy Application, KISS 2015 Korea Computer Engineering Conference, pp. 503-505Google Search
5 
Jang Y. J. et al., 2014, A Study on Design for Service pairing platform based on a Smart Toy, KISS 2014 Winter Conference, pp. 322-324Google Search
6 
Kim E. J., 2016, Introduction to Artificial Intelligence, Machine Learning, and Deep Learning, Wiki Books, pp. 1-338Google Search
7 
Kim Y., 2014, Convolutional Neural Networks for Sentence Classification, Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP 2014), pp. 1746-1751Google Search
8 
Kalchbrenner N., Grefenstette E., Blunson P., 2014, A Convolutional Neural Network for Modelling Sentences, Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, pp. 655-665Google Search
9 
HASSAN A., MAHMOOD A., 2018, A Novel Hierarchical Convolutional Neural Network for Question Answering over Paragraphs, IEEE Access, Vol. 6, pp. 13949-13957Google Search
10 
Guo Y., Jin C., Li W., Ji C., Fang Y., Duan Y., 2017, A Novel Method of Text Representation on Hybrid Neural Networks, 10th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics (CISP-BMEI 2017), pp. 1-6DOI
11 
Kim I. Y., Park C. W., 2017, Business Plan of Smart Toy Intelligent Voice Command Software, TIPA(Korea Technology and Information Promotion Agency for SMEs), Proposals, pp. 1-39Google Search
12 
LeCun Y., Bottou L., Bengio Y., Haffner P., 1998, Gradient- based learning applied to document recognition, IEEE, Vol. 86, No. 11, pp. 2278-2324DOI
13 
Yih W., He X., Meek C., 2014, Semantic Parsing for Single- Relation Question Answering, ACL, pp. 643-648Google Search
14 
Shen Y., He X., Gao J., Deng L., Mesnil G., 2014, Learning Semantic Representations Using Convolutional Neural Networks for Web Search, 23rd International Conference on World Wide Web, pp. 373-374DOI
15 
Collobert R., Weston J., Bottou L., Karlen M., Kavukcuglu K., Kuksa P., 2011, Natural Language Processing (Almost) from Scratch, Journal of Machine Learning Research 12, pp. 2493-2537Google Search
16 
Joshi Prateek, 2017, Artificial Intelligence with python, Packt, pp. 1-446Google Search
17 
Spacagna Gianmario, Slater Daniel, Zocca Valentino, 2017, Python Deep Learning, Packt, pp. 1-368Google Search
18 
Witten Ian H., Frank Eibe, Hall Mark A., Pal Christopher J., 2017, Data Mining, Practical Machine Learning Tools and Techniques, ELSEVIER, Fourth Ed., MORGAN KAUFMANN, pp. 1-656Google Search
19 
Park C. W., Kim I. Y. et. al., 2017, Development of voice learning system for voice learning smart toy develop- ment, Ministry of SMEs and Startups, SME Technology Development, 1st Report, pp. 1-135Google Search
20 
NIA , 2017, NIADic.xlsxGoogle Search

저자소개

이 경 민 (Kyung-Min Lee)
../../Resources/kiee/KIEE.2018.67.9.1210/au1.png

He was born in Korea in 1990.

He received his B.S. and M.S. degrees in Electrical Engineering from Gangneung- Wonju National University, Wonju, Korea, in 2014 and 2017.

At present, he is working on his Ph.D in the Department of Electrical Engineering at Gangneung-Wonju National University.

His research interests include Power IT, LVDC, Microgrid, RES, PMU, power system modeling & control, and power system protection.

He is a member of the KIEE, and IEEE.

Tel : 033-760-8796

Fax : 033-760-8781

E-mail : point2529@naver.com

박 철 원 (Chul-Won Park)
../../Resources/kiee/KIEE.2018.67.9.1210/au2.png

He was born in Korea in 1961.

He received his B.S., M.S. and Ph.D. degrees in Electrical Engineering from Sung- kyunkwan University, Seoul, Korea, in 1988, 1990, and 1996, respectively.

From 1989 to 1993 he was an associate researcher at Lucky GoldStar Industrial Systems.

From 1993 to 1996, he was a senior researcher at PROCOM system and lecturer at S.K.K. University.

At present, he is a professor in the Department of Electrical Engineering at Gangneung-Wonju National University, since 1997.

His research interests include power IT, IED, LVDC, HVDC, Microgrid, RES, PMU, power system modeling & control, and computer application in power system.

He is a member of the KIEE, and IEEE.

He is president of PSPES since 2018.

Dr. Park was awarded the Paper Prize of KIEE in 2010 and the Paper Prize of the KOFST in 2017.

Tel : 033-760-8786

Lab : 033-760-8796

Fax : 033-760-8781

E-mail : cwpark1@gwnu.ac.kr