박호성 부산외국어대학교 교수
이제 인공지능(AI) 혹은 머신러닝이란 용어가 생소한 사람은 없다. 정확히 어떤 원리로 어떻게 동작하는지는 모른다고 하더라도 대충은 어떤 일들을 하는지도 알 것이다.
이들의 원리, 동작, 의의, 활용 분야 등을 언급해 볼 수도 있겠지만 이 글은 잘 만들어진 머신러닝 툴이 있다면 어떻게 사용할 수 있는지 얘기 해봤으면 한다.
더 좋은 인공지능을 개발하는 것도 물론 중요하지만 잘 개발된 인공지능을 어디에 사용하면 도움이 될지 혹은 더 재미있을지 생각하는 것도 정말 중요한 이슈이며 실제로 일반 사람들이 사용할 수 있도록 머신러닝 툴들이 개발되고 있다. 따라서 ‘나라면 어떤 재미있는 주제를 해볼까?’라는 생각들을 한번 해볼 수 있으면 좋겠다.
- 오늘의 주제는 “히든싱어”
히든싱어는 원곡 가수 1명과 다른 여러 모창자들이 부르는 노래를 듣고 원곡 가수를 찾아내는 TV 프로그램이다. 오늘의 실험은 이 프로그램을 바탕으로 과연 동일한 조건에서 ‘인공지능이 인간보다 더 잘 맞출 수 있을까?’라는 주제로 부산외국어대학교 재학생 3명과 함께 진행했다.
- 히든싱어의 조건
첫째, 원곡 가수는 유명하다. 사람들은 원곡 가수의 노래를 들어본 적이 있고 이를 기준으로 판단함으로써 인공지능에게 원곡 가수의 노래를 들려준다. 여기서 중요한 점은 음원을 통해 원곡 가수의 목소리를 학습한다는 것이다.
둘째, 원곡 가수 1명과 모창 가수 5명은 돌아가면서 한소절씩 노래를 부른다. 사람들은 누가 가장 원곡 가수인지 추측하면서 학습된 인공지능 역시 누가 원곡 가수일지 추측한다.
하지만 이 조건은 인공지능에게 상당히 불리하다. 원래 인공지능은 일반적으로 학습을 위해 상당히 많은 양의 데이터가 필요해 인간과 비슷한 조건을 갖추려면 라이브 또는 콘서트에서 녹음한 다양한 목소리로 학습시켜야하기 때문에 음원으로 원곡 가수의 목소리를 학습하기에는 충분한 데이터라고 할 수 없다.
- 실험 결과
인공지능과의 비교를 위해 히든싱어와 동일하게 부산외대 재학생 24명을 섭외해서 30곡의 히든싱어 게임을 진행했다.
실험 결과 평균 정답률은 겨우 33%로 6지선다인 점을 생각하면 꽤나 낮은 점수이다. 최고 성적은 30곡 중 17곡을 맞췄고 최저로는 4곡을 맞췄다. 사실 TV쇼를 보면 알 수 있듯이 모창 가수들의 실력은 엄청나고 심지어 원곡 가수 역시 앨범과 라이브가 달라 오히려 모창 가수가 더 원곡 가수인 것처럼 들리는 경우가 많다.
그럼 인공지능의 실력을 보자.
인공지능의 정답률은 63%로 사람보다 훨씬 좋은 결과를 나타냈다. 앞서 말했듯이 이 게임은 인공지능 입장에서 상당히 불리한 조건으로 해당 원곡 가수의 다양한 데이터를 더 추가하여 학습했다면 아마도 정답률이 훨씬 올라갔을 것이다.
- 성능 향상을 위한 꼼수들
사실 여기에 기술적인 것들을 자세히 풀기에는 무리가 있어 간단히만 언급할 것이다. 따라서 아래 내용을 다 이해하기 위해서는 머신러닝에 대한 기본적인 이해가 있어야 한다. 머신러닝을 공부해 본 적이 없다면 어느 정도까지만 알아듣고 나머지는 이해가 가지 않는 것이 정상이란 뜻이다.
1. 데이터 전처리
다음은 어떻게 하면 더 잘 학습할 수 있을까를 고민한 결과 만들어진 학습 및 추측 과정이다.
복잡해 보이지만 소리를 추출하여 학습할 때의 과정으로 이 과정들을 실행하기 위한 알고리즘, 프로그램들도 이미 다 공개되어 있어 쉽게 사용할 수 있다.
주요 처리만 살짝 언급하자면 필요 없는 잡음들을 제거하기 위해 남성 목소리인지 여성 목소리인지에 따라 일정 주파수 이하의 소리는 모두 컷한다. 또한 소리를 더 잘 구분하기 위한 특징들을 추출하기 위해 패스트 퓨리에 트랜스폼 (FFT) 이라는 알고리즘과 MFCC 라는 알고리즘을 사용한다. 다시 말하지만 FFT도 MFCC도 소리를 처리하는 일반적인 과정으로 둘을 완전히 이해하기는 어렵지만 사용하는 방법은 어렵지 않다.
2. 오토인코더
위에서 계속 AI가 학습을 한다고 설명했지만 앞서 말한 AI는 사실 오토인코더이다. AI는 다양한 종류의 머신러닝으로 구현할 수 있고 그 중 하나가 오토인코더라는 뜻이다.
오토인코더를 매우 단순화 시키면 다음 그림과 같은 구조로 되어 있다.
역할은 입력이 들어오면 압축했다가 다시 확장하며 매우 단순해 입력을 일정한 법칙에 의해 재생산 한다는 뜻이다.
히든싱어 게임을 예로 들자면, 오토인코더의 학습은 원곡 가수 노래를 입력으로 주고 출력이 입력과 최대한 비슷하게 나오도록 학습을 진행한다.
중요한 점은 이렇게 학습된 오토인코더는 원곡 가수의 노래만으로 입력과 출력이 비슷하게 나오도록 학습 했기 때문에 원래 학습했던 원곡 가수의 노래를 넣으면 입력과 비슷한 출력을 뱉어내지만 생소한 노래를 들으면 입력과 전혀 다른 출력이 나오게 되는 것이다.
결론적으로 입력과 출력이 비슷할수록 원곡 가수의 노래일 확률이 높고 입력과 출력이 다를수록 모창 가수일 확률이 높다는 것이다. 그래서 우린 6개의 후보 노래들을 학습된 오토인코더에 넣고 그 중 입력-출력 차이가 가장 적은 한 명을 원곡 가수일 것이라고 추측해 볼 수 있다.
입력과 출력의 차이를 그림으로 보여주면 아래와 같다. 첫 번째 그림이 원곡 가수의 입력-출력 차이이고 두 번째 그림은 모창 가수의 입력-출력 차이이다.
해석하자면 모창 가수의 입력-출력 차이가 평균적으로 더 크고 중간 중간 큰 차이를 보이는 것을 알 수 있듯이 인공지능은 이런 방식으로 모창 가수를 걸러내고 원곡 가수를 찾아낼 수 있다.