343 Views
September 28, 24
スライド概要
2016年に日本大学文理学部の公開講座で使用したスライドです。
日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。
平成28年度 日本大学文理学部 公開講座 音楽で理解する 情報科学のいろは 日本大学 文理学部 情報科学科 准教授 北原 鉄朗 [email protected] http://www.kthrlab.jp/ Twitter: @tetsurokitahara
自己紹介 ● 1979年生まれ。37歳 ● 札幌→柏→京都→大阪→東京 ● 趣味 – 音楽 (昔は楽器演奏や作曲、バンド活動など) ● 情報科学に興味を持ったきっかけ – 中学ぐらいのときにコンピュータに触った – プログラミングで機械を自由自在に操る楽しさ
1. はじめに
「情報科学」とは? ※ きちんとした定義はない 情報の科学? 「科学」って? 「情報」って? 便宜上、「価値のあるデータ」とする 数値、文字、画像、音などで表される 似てそうな言葉 情報処理 情報を収集・蓄積・変換・ 伝達・提示・検索する等 IT(情報技術) 情報処理を実現する技術 コンピュータ
「ビッグデータ」って聞いたことある? ※ きちんとした定義はない ● 従来の方法では扱いきれないほどの量のデータ? ● 人間が生産・消費できる範囲をはるかに超えた量のデータ? ● 新たな価値を生み出すほどの量のデータ? 【出典】 http://www.hitachi.co.jp/Prod/comp/soft1/spcon/itbnavi_1205/
「人工知能」って聞いたことある? ※ きちんとした定義はない 人間のような知能を計算機上で実現しようという試み 【出典】 Wikipedia
【出典】松尾 豊 「人工知能は 人間を超えるか」 KADOKAWA
「ニューラルネットワーク」って聞いたことある? 人間の神経回路網にヒントを得て考案された機械学習技術 【出典】甘利俊一「脳・心・人工知能」ブルーバックス、講談社
人工知能は、実は大したことない!? 私見 「人間の能力を超える画像認識能力を持つ人工知能を実現」 などと言われるが、基本的には人間が与えたデータに従って 計算式を調整しているだけにすぎない 例題 人の後ろ姿の画像が男か女かを識別したい 「男」 「女」
例題 人の後ろ姿の画像が与えられたときに、 それが男か女かを識別したい 身長と髪の長さを入力すると、男なら「1」、 女なら「0」が出力されるようにする 168 155 1 0 8 23 y (髪の長さ) たくさんデータを集めてみよう 女 女 女 女 男 男 こんな直線が引けそう 男 x (身長)
y (髪の長さ) たとえば、 女 女 2 y = x – 100 3 女 女 男 男 としよう 男 x (身長) この式は どう作るの? このとき 2 y < x – 100 なら z = 1 を出力 3 2 y > x – 100 なら z = 0 を出力 3 2 x – 100 あらかじめ用意したデータで識別誤りが y = 3 なくなるように、ココの部分を調整する
問題点1 直線では、うまく識別できないかもしれない y (髪の長さ) 女 女 女 女 男 女 女 男 男 男 男 男 x (身長) 問題点2 もっと多彩な手がかりが必要 顔の骨格 服の特徴 体つき どうやって数値化するの? 各 画 素 の そ色 のの ま濃 まさ 入を 力 … ここに手がかりと なる値が自動的に 得られるかも (実際は もっと複雑)
人工知能の現状 ● ちまたで「人工知能」と呼ばれているものは、 ほとんどが「機械学習」のこと ● 機械学習は、与えられた入力に対して決まった値を 出力するように計算式を調整するにすぎない ● 最近能力が急にあがったのは、識別の手がかりを 計算によって自動的に見つけられるようになったから ● それが可能になったのは、データの増加と計算機の 計算能力の向上による
計算機がスゴイことを行うには 次の2つを人間が教える(プログラミングする)必要がある 表現 計算 計算機は数値しか扱えない。 計算機は計算しかできない。 文字も画像も音も、すべて数値 顔の認識も会話も作曲も、すべて として表現しなければならない。 計算として教えなければならない。 本講座では、これを「音楽」を題材に説明
2. 音楽と情報科学
そもそも「音楽」って何? 音の組み合わせで感動を生み出す芸術表現 「音」とは スピーカーが 空気を押す 空気の振動 押された空気が 隣の空気を押す これが連鎖的に 繰り返される 鼓膜が押され 人間が音を知覚する 押した側は押した反動で 戻ってくる このような、ものが行ったり来たりする運動が、 y 遠くまで伝わる現象を波動(または波)という スピーカーが空気をどのぐらい 押すのかを波形として表す t
音の組み合わせにはルールがある そのルールの土台となっているのが「離散性」 音の高さ とびとびの値しか取らないこと 262Hz 277Hz 293Hz 311Hz 329Hz ・・・・・・ ド 音の長さ ド# レ レ# ミ テンポ=120の場合 0.5秒 0.25秒 0.125秒 1秒 2秒
なぜとびとびの値しか使わないのか (音の高さの場合) 1つに聞こえる音も、実はいくつもの音が重なってできている 振幅 440Hz(ラ)の音 基本周波数 同時に鳴らすと・・・ 周波数 振幅 660Hz(ミ)の音 振幅 紫の部分が重なる 基本周波数 周波数 周波数
もしも、片方の周波数がずれていたら・・・ 振 幅 440Hz(ラ)の音 基本周波数 同時に鳴らすと・・・ うなりの原因になる 周波数 振 幅 振 幅 620Hz(ミ♭)の音 基本周波数 周波数 周波数 基本周波数が 2:3 とか 3:4 だと「うなり」が起きない
周波数を選んでみよう 2つの音の周波数比が次のようになるように周波数を選ぼう ド:ソ=2:3 ソ:レ=2:3 ファ : ド = 2 : 3 ド:ミ=4:5 ソ:シ=4:5 ファ : ラ = 4 : 5 × 3/2 × 5/4 × 5/4 ド 264Hz × 3/2 × 5/4 レ ミ ファ ソ ラ シ ド レ 330Hz 396Hz 495Hz 594Hz 440Hz 297Hz 352Hz 528Hz ÷2 ×2 × 2/3 ※ 実際の周波数は少し異なる場合がある
ドレミができたら和音を作ろう ド~シのそれぞれに2つ上の音を乗っけて、 さらにその2つ上の音を乗っけると和音ができる 音楽用語では「3度上」という ソ ラ シ ド レ ミ ファ ミ ファ ソ ラ シ ド レ ド レ ファ ソ ラ シ 主和音 ミ 下属和音 属和音 ※ハ長調の場合 簡単のため、以下ではこの3つの和音のみ考える
和音の遷移には傾向がある 主和音(ドミソ) 解決感を与える 曲の最後によく出てくる 下属和音(ファラド) 属和音(ソシレ) 属和音に移りやすい 主和音に移りやすい ※括弧内はハ長調の場合 ファラド ドミソ オートマトン ソシレ
オートマトン 入力に応じて機械の状態変化を表したもの 例 音楽プレイヤーの場合 再生 ボタン 停止中 一時停止 ボタン 再生中 停止 ボタン 停止ボタン 一時停止ボタン 一時停止 ボタン 再生ボタン 一時 停止中
例 100円ジュースの自動販売機の場合 10円 投入 0円 投入中 10円 投入 10円 投入中 20円 投入中 10円 投入 … 10円 投入 50円投入 ジュース 購入 50円 投入中 100円投入 50円投入 80円 投入中 90円 投入中 100円 投入中 10円 投入 10円 投入 10円 … 投入 10円 投入
和音の遷移は一通りではない どの和音からどの和音にも飛べるが、飛ぶ確率が異なる 0.2 非決定性オートマトン ファラド 0.4 ドミソ 0.2 ※ 確率の値は 適当です 0.6 0.2 0.4 0.8 ソシレ 0.2
こうすると何ができる? その1 与えられたコード進行がもっともらしいかがわかる ドミソ ファラド ソシレ ドミソ 0.4 × 0.6 × 0.8 もっともらしさ=0.192 ドミソ ソシレ ファラド ドミソ 0.4 不可 0.2 この進行は不可 ドミソ ドミソ ドミソ ドミソ 0.2 × 0.2 × 0.2 もっともらしさ=0.008
こうすると何ができる? その2 確率が最も高くなるようにコード進行を決めよう ドミソ ドミソ ここに何を入れる?
見方を変えてみよう ● 和音を場所(都市、駅など)だと思おう ● 遷移確率を移動コストだと思おう – 0% → 100円 80円 – 10% → 90円 金沢 – 20% → 80円 60円 …… – 100% → 0円 東京 0.2 ファラド 0.4 0.6 0.20.4 80円 40円 80円 60円 大阪 20円 80円 ソシレ 東京から出発して8回目に最小コストで 0.8 東京に戻る経路を考えるのと同じ 0.2 0.2 ドミソ
1 東京 2 80円 60円 60円 3 80円 東京 60円 80円 80 円 金沢 20円 大阪 結果 東京 ここまでの 最小コスト 80円 (大阪経由) 8 東京 140円 金沢 (東京または 金沢経由) 60円 40円 100円 80円 大阪 (金沢経由) 東京 金沢 大阪 東京 大阪 東京 大阪 東京 ドミソ ファラド ソシレ ドミソ ソシレ ドミソ ソシレ ドミソ
同じ考え方でメロディも作れる 0.23 0.11 ド レ ミ 0.07 0.02 0.01 0.03 0.08 ファ ソ ラ シ ド 0.08 ※ すべてに遷移確率が付与されている(「ド」から以外も) ド ド 確率が最大になるように(移動コストが最小になるように) 空欄をうめていく
ここまでのまとめ ● 機械の状態変化を表したものを「オートマトン」という ● メロディの音の変化や和音の変化の仕方は、 オートマトンとして表すことができる ● 音や和音の遷移のしやすさ(しにくさ)を移動コストと 考えれば、メロディや和音進行を作る処理は、 カーナビの経路探索や乗換検索と同じこと
3. この考え方の応用事例
【事例1】 ソプラノパートに アルト・テノール・バスを付ける PLAY C F Em G C C G7 C F C Am C G C
基本的な考え方 ソプラノ ソ ラ ソ シ アルト テノール 同時に鳴らして 変じゃないか バス 音の遷移が適切か
基本的な考え方 ● さきほどの考え方に「縦の関係」が加わる ● 「音Xの次に音Yに移って変じゃないか」、 「音Xと音Yを同時に慣らして変じゃないか」を 確率として表して経路探索問題として解く ● 確率は、既存の楽曲 約250曲から学習する
【出典】讃美歌第二編 ともにうたおう、日本キリスト教団出版局
別の実行例
【事例2】 ● 自動作曲 ※ 嵯峨山 茂樹氏(東大、現在明治大)、 深山 覚氏(東大、現在産総研)との共同研究 歌詞を入力すると、その歌詞のイントネーションに 沿ったメロディを自動生成 (ここまでは東大の成果) ● メロディを編集したら和音進行を、和音進行を編集し たらメロディを、それに合うように再生成
【事例3】 ● 線を書いて作曲気分 メロディのおおまかな流れを一本の線として書くと、 その流れに沿ったメロディを自動生成 ● 音楽の知識なしに作曲気分を味わえる
4. 議論 ここからは、あくまで私見です
現状の作曲能力は? ● 人間がルールを教え込めば、かなりのものも ● データから自動的にルールを学ぶのはまだまだ ● 理由:(整った)データがまだまだ足りない
今後はどうなる? 人間を超える? ● データから学ぶのは、平均的なパターンにすぎない ● 音楽を聴いて感動する「心」は持っていない
人間の作曲家はいなくなる? ● 感動を生む本質的な部分は人間が作る ● その他の部分のほとんどは、機械が代行
機械の作曲家のあるべき姿は? ● 人間のプロデューサを助ける、よきパートナー ● 究極は、ゴーストライター!?
5. まとめ
まとめ ● 今、流行りの人工知能も、基本的には データに従って計算式を調整しているにすぎない ● 音楽は、計算機上でデータ表現がしやすい ● 和音進行やメロディの生成は、カーナビの経路探索 や乗換検索と同じ考え方で実現できる 数学って大事