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

[Session 03] 누구일까요?

 누구일까요?

우리는 동물의 울음소리를 들으면 어떤 동물인지 알 수 있다. 이것은 동물마다 울음소리의 음색이 다르기 때문인데 인공지능도 울음소리를 듣고 어떤 동물인지 구별할 수 있다. 이번 세션에서는 다양한 동물의 울음소리를 인공지능 모델이 분석함으로써 어떤 동물의 울음소리인지 알아낼 수 있도록 한다.


학습 목표 

동물의 울음소리를 인공지능 음성 분류 모델로 학습시켜 어떤 동물 울음소리인지 알아내는 프로젝트를 구현할 수 있다.

학습 준비물

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

데이터 수집 아이디어

 



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

인공지능이 효과적으로 소리를 분류하기 위해서는 많은 소리 데이터를 수집하여 입력하는 것이 좋다. 동물의 울음 소리는 다양한 방법으로 수집할 수 있으며 친구들과 함께 협력하는 것도 좋은 방법이다. 일반적으로 동물 울음소리는 녹음하여 파일로 업로드하게 되는데 엔트리 프로그램에서는 MP3 파일을 사용한다. 엔트리 프로그램에서의 소리 데이터는 3초 이상이어야 하며, 하나의 클래스에 적어도 5개 이상의 데이터가 필요하다.

 

 1) 엔트리 프로그램에서 를 클릭하여 다음과 같이 「분류: 음성」 유형의 데이터 학습모델을 선택한다.


 

2) 음성 모델 학습하기 화면에서 모델 학습 이름을 “동물 울음소리”로 설정한다.



 3-2 데이터 분류 및 테스트

 

1) 데이터 입력을 위해서 분류 범주인 키워드를 입력하고 소리 데이터를 업로드하여 입력한다. 데이터 입력 길이는 3초이며 최소 5개 이상의 소리 데이터를 입력한다. 먼저 “개” 클래스를 추가하고 소리 데이터를 입력한다.


 

2) 다음으로 “닭” 클래스를 추가하고 소리 데이터를 입력한다.


 

3) 마지막으로 “돼지” 클래스를 추가하고 소리 데이터를 입력한다.


 

4) 클래스 별로 소리 데이터를 각각 5개 이상 입력하였으면 학습 단계에서 모델 학습하기 버튼을 클릭하여 인공지능 음성 분류가 가능하도록 학습 모델을 제작한다.


 

5) 만들어진 모델의 학습 결과를 확인하기 위해서 동물의 울음소리를 업로드하여 테스트한다. 테스트 결과는 분류된 클래스별 정확도를 퍼센트 형태로 표시해준다.



 3-3 엔트리 코딩

어떤 동물의 울음소리인지 알아내는 “누구일까요?” 프로젝트를 엔트리로 구현하는 절차는 다음과 같다.

 

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


 

2) 신호로 “닭!”, “돼지!”, 및 “강아지!”를 추가한다.


3) “엔트리봇” 오브젝트는 프로젝트가 시작되면, 즉, 시작하기 버튼을 클릭했을 때 프로젝트에 대하여 안내하며, 소리가 난 동물 울음소리를 학습한 모델로 분류한다. 분류 결과에 따라 해당하는 동물을 보여 주며 결과를 말하도록 신호를 보낸다.


 

 

4) “수탉”, “돼지” 및 “강아지” 오브젝트들은 프로젝트가 시작되었을 때는 보이지 않고 분류한 결과에 따라 해당하는 동물이 보이도록 해야 한다. 따라서, 동물 오브젝트들은 시작하기 버튼을 클릭했을 때에는 모양을 숨긴다.


 
 

5) “수탉”, “돼지” 및 “강아지” 오브젝트들은 분류 결과에 따라 해당하는 신호가 오면 오브젝트를 보이게 하고, 결과를 말한다. 예를 들어, “수탉” 오브젝트인 경우의 코드는 오른쪽과 같다.

6) “돼지”와 “강아지” 오브젝트인 경우에는 「닭! 신호를 받았을 때」블록을 각각 「돼지! 신호를 받았을 때」와 「강아지! 신호를 받았을 때」로 대체하고, “닭의 소리네요.” 라고 말하는 문자열 대신에 각각 “돼지 소리네요.”와 “강아지 소리네요.”를 입력한다.


[정리]

이 프로그램을 통하여 소리 데이터를 수집해서 학습시키면 인공 지능은 그와 유사한 소리가 입력되었을 때 그 소리가 무엇인지를 알아낼 수 있다. 또한, 소리 데이터 학습의 체험을 통하여 현재 인공 지능 기술의 한계점을 인식할 수도 있다. 이 프로그램의 전체 프로그램은 다음과 같다.


[전체 프로그램]



 

[과제]

우리 주위에서 들을 수 있는 여러 소리를 수집한 후에 센서에 의해 입력되는 소리를 듣고 어떤 상황인지 알아내는 프로그램을 작성해 보세요.