Open InspiringPeople opened 5 years ago
x = tf.placeholder(dtype=tf.int32, shape=[Batch, Length])
embedding_table = tf.get_variable('embedding_table', [channels, embedding_dim]) x_embedded1 = tf.gather(embedding_table, x)
x_onehot = tf.one_hot(x, depth=channels) x_embedded2 = tf.layers.dense(x_onehot, embedding_dim, bias=False)
위 코드에서 dense layer의 weight가 embedding_table과 같다면 x_embedded1과 x_embedded2는 결과적으로 같은 값을 갖게 된다는걸 생각하시면 될 것 같습니다.
word2vec은 글자하나가 아닌 단어를 임베딩하는 일을 합니다. 여기서 사용하고 있는 임베딩은 자연어의 경우 글자하나에 해당하기에 저런 방법을 씁니다. fasttext는 제가 잘모르겠네요 ㅋㅋㅋ
GST관련해서는 다음 블로그를 보시면 되고 https://ai.googleblog.com/2018/03/expressive-speech-synthesis-with.html NSynth 관련해서는 다음 블로그를 보시면 됩니다. https://magenta.tensorflow.org/nsynth
감사합니다.
안녕하세요~ DLC 3기 장윤경이라고 합니다. 수업 시간에 너무 재미있게 잘 들었어요~! 이제 2번 밖에 안 남았다니, 벌써 아쉽네요 ㅎㅎ
질문 2개가 있어서 여기에 올립니다~
sound를 딥러닝 모델에 넣을 때 [channels, embedding_dim]로 맵핑해서 넣었는데 sound는 이런식으로 벡터화하는게 일반적인가요? 자연어 같은 경우는 one-hot으로 그냥 벡터화하기도 하고 word2vec이나 fasttext 등 벡터화를 위해 여러가지 임베딩을 사용하는데 sound는 그렇지는 않은지 궁금합니다.
이것은 수업과는 조금 관련없을 수도 있는데.. 개인적으로 이번에 DAW를 처음 만지다보니 악기들의 음색이 너무 많아서 고르기가 어렵더라고요~ 피아노 같이 대중적인 음색은 제목을 보고도 직감적으로 알 수 있지만 잘 다뤄보지 않은 악기 종류도 많아서.. 악기 음색에 따라 vector화 시키고 t-sne로 표현하면 저같은 초보자들이 시각적으로 이해하기에 좋을 것 같다는 생각을 했습니다. 그래서 같은 음원이라도 피아노/첼로/드럼 같이 악기 음색이 바뀌는 것에 따라 수치적으로 각각 다르게 표현할 수 있는 방법이 있는지.. 아니면 그냥 이 소리 자체를 1번처럼 처리해서 벡터화 시켜야하는지 궁금합니다.
감사합니다~!^^