54
知能に楽はつくれるのか? Google Magentaプロジェクトにる知能による作曲法について

人工知能に音楽はつくれるのか? 〜 Google Magentaプロジェクトに見る人工知能による作曲方法について 〜

Embed Size (px)

Citation preview

  • Google Magenta

  • 2

    :

    1. Motivation

    2. Google Magenta

    3. NN

    4.

  • 3

    :

    1. Motivation

    2. Google Magenta

    3. NN

    4.

  • 4

  • 5

    My iTunesTop4

  • 6

    My iTunesTop4

    2001 2015

    2013

    2009

  • 7

  • 8

    Google Magenta

    Deep Learning

  • 9

    :

    1. Motivation

    2. Google Magenta

    3. NN

    4.

  • 10

    Google Magenta

    Tensorflowgithub

  • 11

    : Magenta

    https://www.youtube.com/watch?v=QlVoR1jQrPk

  • 12

    midi tfrecords sequenceexample

    tensorflowprogram

    tensorflowprogram

  • 13

    midi tfrecords sequenceexample

    tensorflowprogram

    tensorflowprogram

    melody_rnn_create_dataset--config= --input=(tfrecords file path)--output_dir=(seq file path)

    melody_rnn_train--config=(name of neural network) --run_dir=(model output dir)--sequence_example_file=(seq file path)

    convert_dir_to_note_sequences--input_dir=$INPUT_DIRECTORY --output_file=$SEQUENCES

  • 14

    midi tfrecords sequenceexample

    tensorflowprogram

    tensorflowprogram

    melody_rnn_generate--config=(name of neural network) --run_dir=(model file path)--output_dir=(midi output dir)

    https://github.com/tensorflow/magenta/tree/master/magenta/models/melody_rnn

  • 15

  • 16

  • 17

    No.1

    Google

    F

  • 18

    (Input data) 30

    epoch() 500

    NN(LSTM) 2 128

  • 19

    (1)

  • 20

    (2)

    Input Data

    ""

  • 21

    Basic RNNLookback RNNAttention RNN

    Recurrent Neural Network(LSTM)DeepLearning Basic RNNLookbackAttention LookbackAttention

  • 22

    Basic RNNLookback RNNAttention RNN

  • 23

    BasicRNN Recurrent Neural Network

    Recurrent Neural Network(LSTM)DeepLearning (State)/ DLFw

    https://magenta.tensorflow.org/2016/06/10/recurrent-neural-network-generation-tutorial/

  • 24

    BasicRNN Input(One-hot vector)

    One-hot Vector 11.5Bit

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    :

  • 25

    Basic RNNLookback RNNAttention RNN

  • 26

    Lookback RNN Input

    12

    (note-off)

    (note-on)

    (note-on)

    (no)

    (note-on)

    (4/4)

    Basic RNN Lookback RNN

  • 27

    Basic RNNLookback RNNAttention RNN

  • 28

    Attention RNN

    Attention

    " = %'")

    = *

    (i)

  • 29

    :

    1. Motivation

    2. Google Magenta

    3. NN

    4.

  • 30

    magenta

    ()""

    magenta

    shuffle onshuffle off

  • 31

  • 32

    - ()

    Input()

    (note-off)

    (note-on)

    (no)Basic RNN

    +

  • 33

    (PoC) - ()NN

    LSTM

    LSTM

    LSTM/ tLSTMPoC

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

  • 34SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION (Hang Chu, Raquel Urtasun, Sanja Fidler 2016)

    ()

  • 35

    (PoC) -

    one hot vector 4 +

    /2/4/8/16/32/647 ()

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

  • 36

    (PoC) -

    LSTMone hot LSTM LSTM

    60%

    30%

    10%

    ""

    60%

    30%

    10%

    ""

    LSTM LSTM

  • 37

    class RNN(Chain): def __init__(self):

    super(RNN,self).__init__( embed=L.EmbedID(num_of_input_nodes, n_units), l1=L.LSTM(n_units, n_units),l2=L.LSTM(n_units, n_units), fc=L.Linear(n_units, num_of_input_nodes),

    )

    def reset_state(self):self.l1.reset_state()self.l2.reset_state

    def __call__(self, input_vector): h0 = self.embed(input_vector) h1 = self.l1(h0)h2 = self.l2(h1)y = self.fc(h2)

    return y

    chainer 20LSTM

  • 38

    PoC

  • 39

    (Input data) 30 F

    epoch() 300

    NN(LSTM) 2 15

    . 2

    20 B.S

  • 40

    1: (F )

  • 41

    2: (B.S )

    FHR/HM EE

    ED->E

  • 42

    3: XXX(F )

  • 43

    4: (B.S. )

    5(4

    )

  • 44

    : ...

    Softmax

  • 45

    :

    1. Motivation

    2. Google Magenta

    3. NN

    4.

  • 46

    NN

    LSTM one hot vector

  • 47

    () magentaNN(1) : Drums RNN

    RNN

  • 48

    () magentaNN(2) : imporv RNN

    RNN

  • 49

    () magentaNN(3) : Rl Tuner

  • 50

    () : Wavenet

    https://deepmind.com/blog/wavenet-generative-model-raw-audio/

  • 51

    () : Wavenet

    https://deepmind.com/blog/wavenet-generative-model-raw-audio/

    CD1

  • 52

    () (QRNN?) Midi magenta Drums RNN

    =>

  • 53

  • 54