엔트리와 함께하는 인공지능 교실 > Chapter 7. 음성 분류 인공지능 모델(2)

[Session 04] 누가누가 잘 하나!

 누가누가 잘 하나!

여러분들은 동물의 울음소리를 얼마나 잘 흉내 낼 수 있나요? 누가 동물의 울음소리를 가장 비슷하게 흉내 낸 다고 생각하세요? 누가 더 비슷하게 흉내 내는지 인공지능으로 학습한 모델을 사용하면 알 수 있어요. 여러분이 흉내 내는 동물의 울음소리가 얼마나 비슷한지 알아내는 프로그램을 만들어 봅시다.


학습 목표 

동물의 울음소리를 인공지능 음성 분류 모델로 학습시켜 흉내내는 울음소리가 얼마나 비슷한지 판단하는 프로젝트를 구현할 수 있다.

학습 준비물

음성 녹음이 가능한 PC 또는 노트북

데이터 수집 아이디어 

 



 4-1 인공지능 데이터 수집

이번 주제에서는 『세션 3. 누구일까요?』프로젝트에서 학습한 인공지능 모델을 사용한다. 이와 같이 비슷한 프로젝트인 경우에 학습 모델이 같다면 다른 프로젝트와 공유하는 것이 가능하다.



 4-2 엔트리 코딩

지정한 동물의 울음소리를 흉내 내는 소리가 얼마나 비슷한지 알아내는 “누가누가 잘 하나?” 프로젝트를 엔트리로 구현하는 절차는 다음과 같다.

1) 동물로 분류된 오브젝트 모음에서 "수탉", "돼지" 및 "강아지"등을 찾아 추가한다.


2) “엔트리봇” 오브젝트는 프로젝트가 시작되면, 즉, 시작하기 버튼을 클릭했을 때 프로젝트에 대하여 안내한다.


 

3) “수탉”, “돼지” 및 “강아지” 오브젝트들을 클릭하면 사용자의 흉내 내는 소리를 입력받아 그 소리가 해당하는 동물의 울음소리와 얼마나 비슷한지 판단한다. 본 예제에서는 신뢰도가 0.5 이상이면 매우 비슷한 것으로 판단하고, 0.3 이상이면 비슷한 것으로 판단하였다. 만약 신뢰도가 0.3 미만이면 비슷하지 않은 것으로 판단하여 판단 결과를 말하였다. 예를 들어, “수탉” 오브젝트의 코드는 다음과 같다.


 

4) “돼지”와 “강아지” 오브젝트인 경우에는 「닭▼에 대한 신뢰도」를 각각 「개▼에 대한 신뢰도」와 「돼지▼ 에 대한 신뢰도」로 대체하고, “혹시 닭이 아니신가요?”라고 말하는 문자열 대신에 “혹시 개가 아니신 요?”와 “혹시 돼지가 아니신가요?”로 입력한다.


[정리]

인공 지능으로 학습시키고 인식하는 결과는 신뢰도가 퍼센트로 표현된다. 이 프로그램을 통하여 입력된 소리 데이터가 어떤 클래스에 얼마나 정확하게 일치하는가를 알 수 있게 되어 현실적으로 결과를 인정하려면 신뢰도가 어느 정도 되어야 하는가를 생각하도록 할 수 있다. 또한, 학습시킨 모델은 다른 프로그램에서도 공유 할 수 있음을 이해할 수 있다. 이 프로그램의 전체 프로그램은 다음과 같다.


[전체 프로그램]



 

[과제]

고양이, 호랑이 및 사자의 소리 데이터를 학습시킨 후 분류하는 프로그램의 실행 결과를 신뢰도의 값이 어느 정도일 때 인식 결과를 받아들일 수 있는지에 대하여 토론해 보세요.