Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017

80 961 vues

Publié le

발표 영상 : http://tv.naver.com/v/2292650
코드 : https://github.com/carpedm20/multi-speaker-tacotron-tensorflow
음성 합성 데모 : http://carpedm20.github.io/tacotron
발표 소개 : https://deview.kr/2017/schedule/182

딥러닝을 활용한 음성 합성 기술을 소개하고 개발 경험과 그 과정에서 얻었던 팁을 공유하고자 합니다.

Publié dans : Technologie

책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017

  1. 1. 책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 김태훈 / carpedm20
  2. 2. 김태훈 / carpedm20 /
  3. 3. 오늘의 주제
  4. 4. 음성 합성
  5. 5. 음성텍스트 음성 합성
  6. 6. “이거 실화냐?” 음성 합성
  7. 7. 무엇을 할 수 있나요?
  8. 8. 1. 음성 안내 시스템 지하철, 박물관 2. 대화 인공지능 Siri, 스피커 3. 오디오북 성우가 필요한 대부분의 일
  9. 9. 많은 기업들이 기술을 보유
  10. 10. nVoice
  11. 11. 유인나 데모를 듣고나서..
  12. 12. “배우 유인나가 해리포터를 읽어준다면?”
  13. 13. 나도 할 수 있을까?
  14. 14. API
  15. 15. 유인나는 없음 ㅠㅠ
  16. 16. https://developers.naver.com/products/clova/tts/
  17. 17. https://developers.naver.com/products/clova/tts/
  18. 18. https://developers.naver.com/products/clova/tts/
  19. 19. 음..
  20. 20. 아쉽다
  21. 21. “자연스러운 목소리를 마음껏”
  22. 22. 그래서 로 직접 만들어 봤습니다
  23. 23. 한번 들어볼까요?
  24. 24. “존경하는 개발자 여러분.”
  25. 25. “저는 데브시스터즈에서 머신러닝 엔지니어로 일하고 있는 김태훈입니다.”
  26. 26. “이렇게 제 발표를 들으러 와 주셔서 정말 감사합니다.”
  27. 27. “아직은 턱없이 부족한 음성합성 모델이지만”
  28. 28. “오늘 데이터와 코드를 오픈소스로 공개해서”
  29. 29. “여러분들과 함께 더 좋은 모델로 만들어 나갔으면 좋겠습니다”
  30. 30. “코드는 발표가 끝나고 공개할 예정이며,”
  31. 31. “이제 다시 발표자가 진행하도록 하겠습니다.”
  32. 32. 어떠신가요?
  33. 33. 오늘의 발표
  34. 34. 1. 데이터 2. 모델 3. 결과
  35. 35. 1. 데이터 2. 모델 3. 결과
  36. 36. 텍스트 ↔ 음성
  37. 37. 직접 만들어야.. 공개 데이터가 없다
  38. 38. http://news.jtbc.joins.com/html/033/NB11521033.html
  39. 39. 데이터 프로세싱
  40. 40. 1. 음성 추출 + 2. 문장 별 자르기 + 3. 텍스트 ↔ 음성 맞추기
  41. 41. 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다 노가다
  42. 42. 직접 하진 않았고 자동화 Google Speech API, Text similarity
  43. 43. 뉴스 + + 오디오북
  44. 44. 완벽하진 않지만 50+시간 데이터 총 5명의 목소리체감상 90% 정확도
  45. 45. 손석희 : 15+시간13,000 문장 박근혜 : 5+ 시간6,000문장 문재인 : 2+ 시간2,000 문장
  46. 46. 손석희 : 15+시간13,000 문장 박근혜 : 5+ 시간6,000문장 문재인 : 2+ 시간2,000 문장
  47. 47. 손석희 : 15+시간13,000 문장 박근혜 : 5+ 시간6,000문장 문재인 : 2+ 시간2,000 문장
  48. 48. 손석희 : 15+시간13,000 문장 박근혜 : 5+ 시간6,000문장 문재인 : 2+ 시간2,000 문장
  49. 49. 1. 데이터 2. 모델 3. 결과
  50. 50. 딥러닝
  51. 51. 총 2가지 모델
  52. 52. 1. Tacotron 2. Deep Voice 2
  53. 53. 1. Tacotron
  54. 54. 7달 전
  55. 55. 핵심은
  56. 56. 텍스트 음성
  57. 57. 음성토큰화 운율 분석텍스트
  58. 58. 음성토큰화 검색 + 합성 or 모델 운율 분석텍스트
  59. 59. 음성모델텍스트
  60. 60. Tacotron
  61. 61. Wang, Yuxuan, et al. "Tacotron: A Fully End-to-End Text-To-Speech Synthesis Model." arXiv preprint arXiv:1703.10135 (2017).
  62. 62. 크게 4가지 모듈로 구성
  63. 63. 1. Encoder
  64. 64. 2. Decoder
  65. 65. 3. Attention
  66. 66. 4. Vocoder
  67. 67. 하나씩 설명해 보겠습니다
  68. 68. 1. Encoder
  69. 69. 1. Encoder 텍스트 텍스트 정보를 잘 나타내는 숫자
  70. 70. Character Embedding이란?
  71. 71. 글자 →숫자 ㄱ, ㄴ, ㅏ, ㅑ
  72. 72. 글자 →숫자 0.1, 0.3
  73. 73. 글자 →숫자 딥러닝 모델이 계산을하기 위해
  74. 74. 0.7 0.5 0.9 0.5 1.0 0.9 … 0.3 0.0 0.7 0.5 0.9 0.9 … ㄱ ㄴ 0.1 0.0 0.3 0.0 0.0 0.2 … ㅏ 0.9 0.5 0.1 0.1 0.0 0.2 … ㅑ
  75. 75. Character Embedding의 장점
  76. 76. 띵작
  77. 77. 0.0 0.0 0.1 0.9 0.0 0.1 ㅁ ㅕ 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅇ ㅈ ㅏ ㄱ 명작 띵작
  78. 78. 0.0 0.0 0.1 0.9 0.0 0.1 ㅁ ㅕ 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅇ ㅈ ㅏ ㄱ 명작 띵동 0.1 0.0 0.5 0.0 0.9 0.5 0.8 0.0 0.2 ㄷ ㅗ ㅇ 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ 띵작
  79. 79. 띵작 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ 0.0 0.0 0.1 0.9 0.0 0.1 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅁ ㅕ ㅇ ㅈ ㅏ ㄱ 명작 띵동 0.1 0.0 0.5 0.0 0.9 0.5 0.8 0.0 0.2 ㄷ ㅗ ㅇ 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ
  80. 80. 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅇ ㅈ ㅏ ㄱ 띵작 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ 0.0 0.0 0.1 0.9 0.0 0.1 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅁ ㅕ ㅇ ㅈ ㅏ ㄱ 명작 띵동 0.1 0.0 0.5 0.0 0.9 0.5 0.8 0.0 0.2 ㄷ ㅗ ㅇ 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ
  81. 81. 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅇ ㅈ ㅏ ㄱ 띵작 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ 0.0 0.0 0.1 0.9 0.0 0.1 0.8 0.0 0.2 0.5 1.0 0.9 0.7 0.5 0.9 0.3 0.0 0.2 ㅁ ㅕ ㅇ ㅈ ㅏ ㄱ 명작 띵동 0.1 0.0 0.5 0.0 0.9 0.5 0.8 0.0 0.2 ㄷ ㅗ ㅇ 0.1 0.0 0.5 0.5 0.1 0.2 ㄷ ㅣ 0.1 0.0 0.5 ㄷ
  82. 82. ᄀ ᄁ ᄂ ᄃ ᄄ ᄅ ᄆ ᄇ ᄈ ᄉ ᄊ ᄋ ᄌ ᄍ ᄎ ᄏ ᄐ ᄑ ᄒ ᅡ ᅢ ᅣ ᅤ ᅥ ᅦ ᅧ ᅨ ᅩ ᅪ ᅫ ᅬ ᅭ ᅮ ᅯ ᅰ ᅱ ᅲ ᅳ ᅴ ᅵ ᆨ ᆩ ᆪ ᆫ ᆬ ᆭ ᆮ ᆯ ᆰ ᆱ ᆲ ᆳ ᆴ ᆵ ᆶ ᆷ ᆸ ᆹ ᆺ ᆻ ᆼ ᆽ ᆾ ᆿ ᇀ ᇁ ᇂ ! ' ( ) , - . : ; ? _ ~
  83. 83. 총 80개의 Embedding
  84. 84. FC – ReLU – Dropout – FC – ReLU – Dropout
  85. 85. CBHG = 1-D Convolution Bank + Highway network + Bidirectional GRU
  86. 86. 텍스트 임베딩 : 텍스트를 잘 나타내는 숫자
  87. 87. 2. Decoder
  88. 88. 크게 보면 그냥 RNN
  89. 89. RNN Cell 하나
  90. 90. 2. Decoder 이전에 만든 스팩트로그램
  91. 91. 2. Decoder 이전에 만든 스팩트로그램 다음 스팩트로그램
  92. 92. 스팩트로그램으로 음성을 만들 수 있다
  93. 93. 문장에 상관없이 항상 같은 값
  94. 94. 이후 설명할 Attention Attention
  95. 95. 그냥 RNN
  96. 96. n개의 스팩트로그램 예측 예측해야하는 횟수를 1/N로
  97. 97. 마지막 스팩트로그램이 다음 입력값
  98. 98. 똑같고
  99. 99. 똑같고
  100. 100. 똑같고
  101. 101. 반복
  102. 102. 스팩트로그램들 음성이 되기 직전의 숫자들
  103. 103. 4. Vocoder
  104. 104. 스팩트로그램들을
  105. 105. CBHG를 거치고
  106. 106. Griffin-Lim을 거쳐서 스팩트로그램을 음성으로 만들어주는 한가지 알고리즘
  107. 107. 음성을 만듦
  108. 108. 3. Attention
  109. 109. Attention은 Tacotron에서 가장 중요
  110. 110. Attention
  111. 111. 어디에 집중할 것인가? Attention
  112. 112. 텍스트 임베딩 : 텍스트를 잘 나타내는 숫자
  113. 113. Encoder 텍스트 임베딩
  114. 114. 첫번째 음성은 텍스트의 첫번째 단어에 집중
  115. 115. 어디에 집중할 것인가를 계산하고
  116. 116. 스팩트로그램을 만드는 RNN에 Attention을 전달
  117. 117. 예시를 한번 보죠
  118. 118. <Go> 첫번째 입력값 텍스트 임베딩
  119. 119. <Go> 가장 첫번째 단어에 집중
  120. 120. 한 단어 완성!
  121. 121. 공백을 보고 몇 초간 쉼
  122. 122. 또 다른 공백
  123. 123. Attention이 중요한 이유?
  124. 124. 일반화 Generalization
  125. 125. 학습하지 않았던 문장도 얼마나 잘 말할 수 있는가? 음성 합성 모델의 핵심
  126. 126. 더즐리 부인은 마른 체구의 금발이었고, 목이 보통사람보다 두배는 길어서, 담 너머로 고개를 쭉 배고 이웃사람들을 몰래 훔쳐보는 그녀의 취미에 더 없이 제격이었다
  127. 127. 더즐리 부인은 마른 체구의 금발이었고, 목이 보통사람보다 두배는 길어서, 담 너머로 고개를 쭉 배고 이웃사람들을 몰래 훔쳐보는 그녀의 취미에 더 없이 제격이었다 두배는 길어서, 담 너머로 x 2 담 너머로 x 2 Decoder는 Attention이 시키는데로 했을 뿐 ㅠ
  128. 128. 손석희는 대한민국의 언론인으로, JTBC 보도 담당 사장이다.
  129. 129. 제너러티브 어드벌서리얼 네트워크와 베리에셔널 오토 인코더가 핫하다.
  130. 130. 오스트랄로피테쿠스 아파렌시스는 멸종된 사람족 종으로, 현재에는 뼈 화석이 발견되어 있다.
  131. 131. Attention의 학습 과정을 보면
  132. 132.
  133. 133. Wang, Yuxuan, et al. "Tacotron: A Fully End-to-End Text-To-Speech Synthesis Model." arXiv preprint arXiv:1703.10135 (2017).
  134. 134. Embedding Bidirectional-RNN Attention
  135. 135. 2. Deep Voice 2
  136. 136. 5달 전
  137. 137. Arik, Sercan, et al. "Deep Voice 2: Multi-Speaker Neural Text-to-Speech." arXiv preprint arXiv:1705.08947 (2017).
  138. 138. 그냥 똑같은걸 다시 그린 것 ≅
  139. 139. 핵심은
  140. 140. N명의 목소리를 하나의 모델로 Tacotron을 Multi-Speaker 모델로
  141. 141. Tacotron = 5G GPU GeForce GTX 980 Ti
  142. 142. 5명의 목소리를 만들고 싶다면?
  143. 143. 5 × Tacotron = 25 GB GPU 5 × GeForce GTX 980 Ti
  144. 144. 하지만 N-speaker Tacotron과 함께라면?
  145. 145. 5-speaker Tacotron ≅ 5G GPU 1 × GeForce GTX 980 Ti
  146. 146. 어떻게?
  147. 147. Speaker Embedding
  148. 148. 0.7 0.5 0.9 0.5 0.3 0.0 0.7 0.5 김태훈 유인나 0.1 0.0 0.3 0.0 손석희 0.9 0.5 0.1 0.1 네이버
  149. 149. Speaker Embedding
  150. 150. Speaker Embedding
  151. 151. Speaker Embedding
  152. 152. 또 다른 장점
  153. 153. 문재인 대통령 데이터 학습 집권 기간이 짧으셔서.. 2시간+
  154. 154. Train loss 폭.발!
  155. 155. Test loss
  156. 156. 하지만 다른 데이터와 함께 학습하면?
  157. 157. Attention을 배워야 Test loss가 감소 TestTrain
  158. 158. + 완벽하지 않은 데이터완벽한 데이터 학습을 도와준다
  159. 159. Multi-speaker Attention
  160. 160. 목소리 C 목소리 D 목소리 A 목소리 B
  161. 161. 목소리 A 목소리 B 목소리 C 목소리 D
  162. 162. Attention을 원하는 데로 바꿔서
  163. 163. 내가 원하는 속도로 말하도록 싶을 때
  164. 164. 직접 만든 Attention
  165. 165. 강제로 치환
  166. 166. 한 사람의 Attention을 다른 사람에게
  167. 167. 앵커 손석희가 문재인 대통령처럼?
  168. 168. 성대모사?
  169. 169. 1. 개요 2. 모델 3. 결과
  170. 170. 오디오북
  171. 171. 해리 포터와 마법사의 돌 (조앤.K.롤링 저, Pottermore from J.K. Rowling 출판) 발췌
  172. 172. 해리 포터와 마법사의 돌 (조앤.K.롤링 저, Pottermore from J.K. Rowling 출판) 발췌 그것은 은빛 라이터처럼 보였다.
  173. 173. 해리 포터와 마법사의 돌 (조앤.K.롤링 저, Pottermore from J.K. Rowling 출판) 발췌 그것은 은빛 라이터처럼 보였다. 그는 뚜껑을 탁 하고 열더니 공중으로 치켜올려 찰깍 소리가 나게 했다.
  174. 174. 그것은 은빛 라이터처럼 보였다. 그는 뚜껑을 탁 하고 열더니 공중으로 치켜올려 찰깍 소리가 나게 했다. 그러자 조그맣게 펑 하는 소리가 나면서 가장 가까이 있는 가로등이 꺼졌다. 해리 포터와 마법사의 돌 (조앤.K.롤링 저, Pottermore from J.K. Rowling 출판) 발췌
  175. 175. 박망박박투한 망박박투뭉글 토망희뿌붇날 복볿멍멍북 볻멍벍멍터 한글 프로그래밍 언어
  176. 176. 그리고,
  177. 177. 소설가 마크 트웨인이 말했습니다. 인생에 가장 중요한 이틀이 있는데, 하나는 세상에 태어난 날이고 다른 하나는 왜 이 세상에 왔는가를 깨닫는 날이다.
  178. 178. 소설가 마크 트웨인이 말했습니다. 인생에 가장 중요한 이틀이 있는데, 하나는 세상에 태어난 날이고 다른 하나는 왜 이 세상에 왔는가를 깨닫는 날이다.
  179. 179. 소설가 마크 트웨인이 말했습니다. 인생에 가장 중요한 이틀이 있는데, 하나는 세상에 태어난 날이고 다른 하나는 왜 이 세상에 왔는가를 깨닫는 날이다.
  180. 180. 소설가 마크 트웨인이 말했습니다. 인생에 가장 중요한 이틀이 있는데, 하나는 세상에 태어난 날이고 다른 하나는 왜 이 세상에 왔는가를 깨닫는 날이다.
  181. 181. 소설가 마크 트웨인이 말했습니다. 인생에 가장 중요한 이틀이 있는데, 하나는 세상에 태어난 날이고 다른 하나는 왜 이 세상에 왔는가를 깨닫는 날이다.
  182. 182. 이것 외에도
  183. 183. 아. 퇴근하고 싶다. 퇴근하고 싶다. 퇴근하고 싶다.
  184. 184. 아. 퇴근하고 싶다. 퇴근하고 싶다. 퇴근하고 싶다.
  185. 185. 아. 퇴근하고 싶다. 퇴근하고 싶다. 퇴근하고 싶다. 시.공.조.아. × 5
  186. 186. 아. 퇴근하고 싶다. 퇴근하고 싶다. 퇴근하고 싶다. 시.공.조.아. × 5 이겼닭! 오늘 저녁은 치킨이닭!
  187. 187. 하지만 이런것도..
  188. 188. ?
  189. 189. ? 불완전한 학습 데이터 5+시간
  190. 190. ? 제너러티브 어드벌서리얼 네트워크와 베리에셔널 오토 인코더가 핫하다.
  191. 191. ? 기회는 평등할 것입니다.
  192. 192. ? 기회는 평등할 것입니다. 과정은 공정할 것입니다.
  193. 193. ? 기회는 평등할 것입니다. 과정은 공정할 것입니다. 결과는 정의로울 것입니다.
  194. 194. 불완전한 학습 데이터 2+시간
  195. 195. 네이버 웹툰 <선천적 얼간이들> - 가스파드
  196. 196. 영웅은 죽지않아요.
  197. 197. 영웅은 죽지않아요. 오늘 당직은 메르시입니다.
  198. 198. 영웅은 죽지않아요. 오늘 당직은 메르시입니다. 그리고 정마담한테 주려는거 이거 이거, 이거 이거 장짜리 아니여?
  199. 199.
  200. 200. 직접 듣고 싶다면
  201. 201. http://carpedm20.github.io/tacotron
  202. 202. 마지막으로
  203. 203. 마지막으로
  204. 204. $ python generate.py "이렇게 만드시면 됩니다"
  205. 205. 코드 + 미리 학습된 모델 파라미터 + { }음성 추출 + 음성 자르기 + 텍스트 맞추기
  206. 206. 모두 힘을 모아 유인나 데이터를...
  207. 207. http://www.devsisters.com/jobs/
  208. 208. 감사합니다 @carpedm20

×