BLOG

AWS DeepComposer… 기계 학습으로 누구나 작곡자가 될수 있어
작성일: 2019-12-26

2019년 12월 2일, AWS는 AI서비스와 결합된 세계 최초의 음악 키보드인 AWS DeepComposer를 발표했습니다.

 

기계 학습(ML)에는 많은 수학, 컴퓨터 과학, 코드 및 인프라가 필요합니다. 이 주제는 매우 중요하지만 ML 개발자를 꿈꾸는 많은 사람들에게는 이는 압도적으로 다가오며, 때론 지루하다고 생각하기도 합니다.

 

모든 사람들이 실용적인 ML에 대해 배우고 즐거워 할 수 있도록 ML을 탑재한 디바이스와 몇 가지 기술을 도입 했습니다. AWS re:Invent 2017에서는 세계 최초로 딥 러닝 지원이 되는 카메라인 AWS DeepLens를 도입하여, 개발자에게 컴퓨터 비전을 위한 ML을 배울 수 있는 경험을 선사하였습니다. 작년에 AWS는 강화 학습에 의해 구동되는 완전 자율형 1/18 스케일 경주용 자동차인 AWS DeepRacer를 시작했고, 올해는 그 기술의 수준을 더욱 높였습니다.

 

AWS DeepComposer를 소개합니다!

AWS DeepComposer는 사전에 훈련된 모델 또는 자신이 만든 모델을 통해 개발자가 Generative AI와 연계할 수 있도록 설계된 32키, 2옥타브 키보드입니다.

 

사용자는 해당 디바이스가 언제 출시되는지 이메일로 수신 요청을 하고, AWS 콘솔에서 가상 키보드를 사용할 수 있습니다.

 

높은 수준의 view는 다음과 같습니다.

 

  1. DeepComposer콘솔에 로그인합니다.
  2. 짧게 음악을 녹음하거나 미리 녹음된 곡을 사용합니다
  3. 선호하는 장르에 따른 생성 모델을 선택합니다.
  4. 해당 모델을 사용하여 다음(多音)의 운율 구성을 생성하십시오.
  5. 콘솔에서 composition(작곡)을 재생합니다.
  6. composition(작곡)을 추출하거나 SoundCloud.에서 공유합니다.

 

미리 훈련된 모델을 사용하여 첫 번째 컴포지션을 빠르게 생성하는 방법을 보여 드리겠습니다. 그런 다음 자신이 개발한 고유모델을 훈련하는 방법을 살펴본 후  DeepComposer:Generative Adversarial Networks (GAN)를 지원하는 기본 기술에 대한 입문서로 글을 끝맺겠습니다.

 

사전 훈련된 모델 사용하기

콘솔을 열고 Music Studio로 이동하여 사전 녹음된 곡을 선택하거나 직접 녹음을 할 수 있습니다.

 

저는 전자의 방법으로 베토벤의 “Ode to Joy”를 선택하였습니다.

또한 클래식, 재즈, 록 또는 팝과 같이 사용하려는 사전 훈련된 모델을 선택합니다. 이 모델들은 각각의 장르에 대한 대규모 음악 데이터 세트에 대해 교육을 받은 모델들로 사용자가 직접 사용할 수 있습니다. ‘메탈’이 없으면 ‘록’을 선택하고 컴포지션을 생성합니다.

 

몇 초 후, 모델에 의해 생성된 추가 반주를 볼 수 있습니다. 드럼, 오버 드라이브 기타, 일렉트릭 기타(클린) 및 일렉트릭 베이스(핑거)와 같은 다른 악기를 지정합니다.

 

결과는 다음과 같습니다. 어떠신가요?

마지막으로 컴포지션을 MIDI 또는 MP3 파일로 내보내어 SoundCloud계정에서 공유할 수 있습니다. 혹시 아나요? 이를 통해 유명한 곡이 만들어질지요!

 

 

고유 모델 훈련하기

또한 사용자가 선호하는 장르의 데이터 세트에서 자신만의 모델을 훈련시킬 수 있습니다.

 

  • Generator 및 Discriminator의 아키텍처 매개 변수(다음 섹션의 내용 참조)
  • 알고리즘 출력과 예상 값의 차이를 측정하기 위해 트레이닝 중에 사용되는 손실 함수
  • 하이퍼 파라미터,
  • 모델을 트레이닝 하는 동안 들을 수 있는 검증 샘플

트레이닝 중 품질 측정 항목을 확인할 수 있으며, 위에서 선택한 유효성 검사 샘플을 들을 수 있습니다. 모델이 완전히 훈련되면 사전 훈련된 모델과 마찬가지로 컴포지션을 생성하는 데 사용할 수 있습니다.

 

Generative Adversarial Networks(GAN) 모델 사용하기

GAN은 2014년 발간된 Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville 및 Yoshua Bengio의“Generative Adversarial Networks”를 논문을 기반하고 있습니다.

 

간단히 요약하면:

GAN 모델은 높은 품질을 만들어 내려는 두 가지 즉, 가짜를 만들어내는 Generator와, 이를 평가하는 Discriminator이 있어서 서로 대립(Adversarial)하며 서로의 성능을 점차 개선해 나가자는 것이 주요 개념입니다. 예를 들면, 지폐위조범(Generator)은 경찰을 최대한 열심히 속이려고 하고 다른 한편에서는 경찰(Discriminator)이 이렇게 위조된 지폐를 진짜와 감별하려고(Classify) 노력합니다. 이런 경쟁 속에서 두 그룹 모두 속이고 구별하는 서로의 능력이 발전하게 되고 결과적으로는 진짜 지폐와 위조 지폐를 구별할 수 없을 정도(구별할 확률 pd=0.5)에 이른다는 것입니다.

 

이를 더욱 자세히 설명 드리자면,

  • 생성기(Generator)는 데이터 세트에 액세스 할 수 없습니다. 랜덤 데이터를 사용하여, 기 모델을 통해 전달되는 샘플을 작성합니다.
  • 판별기(Discriminator )는 이진 분류 모델로, 생성기가 만든 가짜 샘플에서 실제 데이터 샘플 (훈련 세트에 포함)을 인식하는 방법을 학습합니다. 훈련 과정은 경사 하강, 역 전파 등과 같은 전통적인 기술을 사용합니다.
  • 판별기가 학습함에 따라 가중치가 업데이트됩니다.
  • 생성기에 동일한 업데이트가 적용됩니다. 이것이 GAN을 이해하는 열쇠입니다. 이러한 업데이트를 적용하여 생성기는 판별자가 정품으로 간주하는 샘플에 더 가깝고 더 가까운 샘플을 생성하는 방법을 점진적으로 배웁니다.

 

이를 통해 좀 더 훌륭한 음악을 만들어 낼 수 있는 모델을 개발할 수 있습니다. 자세한 내용이 궁금하다면, ‘Apache MXNet GAN을 사용하여 MNIST 샘플을 생성하는 방법’에 대한 게시글을 참고해 주십시오.

아래의 사진의 아이처럼 AWS DeepComposer를 통해 사용자들이 쉽게 작곡을 하고 음악과 친밀해 지며 즐길 수 있길 바래봅니다.

 

곧 출시 예정!

AWS DeepComposer의 기능들은 굉장히 우수하고 훌륭합니다. 지금 프리뷰를 신청하여 실제로 경험해 보시고 키보드가 정식 출시 되었을 때에 가장 먼저 알림을 받아 보세요!

 

원문 URL: https://aws.amazon.com/ko/blogs/aws/aws-deepcomposer-compose-music-with-generative-machine-learning-models/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.