【6日目】目標を定める・偶然の友達【pythonで音楽系人工知能を作るまで日記】

2022年12月17日

自分の書いた記事を振り返ったところ、昨日で丁度この日記を書き始めて1ヵ月らしい。
個人的に、pythonの基礎はもう十分かなと感じたので人工知能を学ぶフェーズに入ろうと思う。競プロは面白いのでこのまま続けるけど、メインにはしない。目的と手段は間違えちゃいけない。

そこで、何か目標があった方がいいだろうと思ったのでとりあえず「DJみたいに曲と曲をいい感じに繋ぐAI」を作ることを目標にやっていこうと思う。
調べて見た感じ、既に日本でやっている方はいるらしいので二番煎じにはなってしまうけど、その例も参考に目指そうと思う。(裏テーマとして、AIを仕事に出来たらなという思いがあるとかないとか)

しかし、AIの学び方が全く分からないのでとりあえずAIの学び方を学ぼう。
調べて見た感じ、松尾研究室というところが出しているロードマップで、「情報系以外の大学生向け」というのがあったからこれを愚直に信じてみようと思う。このロードマップに自分なりの改変を加えてみる。

ロードマップ

1.AIを作る上で大まかになにをするのかの理解

Udemyの人工知能の基礎の受講
正直、買ったならやろうという気持ちもある。
だいたいこういう感じだよっていうさわりを理解する感じ。

2.人工知能の概要知識

以下の4つの教材が候補にある。

・放送大学の「AIシステムと人・社会との関係」
過去に受講済み。歴史を知れる感じ。

・人工知能は人間を超えるか
目次を見た感じ放送大学と被るところもあるけど、違う話もしている

・深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 
G検定という「AIを活用する人」向けに作られた資格の公式テキスト。
E検定という「AIを作る人」向けの資格もあるけど、難易度は圧倒的に高い。
試し読みした感じ、AIに関することを網羅的に学べるっぽいので、資格を取る気がなくてもこれで学ぶのは良さそう。

・人工知能のアーキテクトたち
こちらはAI最前線にいる方23人のインタビューをまとめたものらしい。
試し読みができなかったので内容は不明

ロードマップでは下の3つの本がお勧めされてたけど、本当にぱっと見た感じはG検定の公式テキストだけで良いのかなと感じた。
とりあえずG検定のテキストをやって、それでも足りないと感じたら他の教材も触ってみようと思う。

3.人工知能に必要な数学

調べて見た感じ、ここが一番難しそう。内容が難しいのもあるだろうが
・今自分がどのレベルなのか
・どこまで学びたいか
・なにで学ぶのか

によって使う教材はかなり変わって来るから調べて考えなきゃいけない。

とりあえずは
・人工知能数学の概要を掴む(AIでどう使われているのか・マクロ的な視点)
・微分積分
・線形代数
・統計学

以上4つを習得すればよいと思う、マジで知らないけど。

私自身は微分積分は高校でやった程度。統計学は文系大学でやった程度。線形代数は名前しか聞いたことない程度。しかも、微分積分・統計学共にあまり覚えていない。
総じて、「マジで数学わからん」為、全部一から学ぼう。

作戦としては、
大学受験でお世話になったヨビノリさんの「中学数学からはじめるAI(人工知能)のための数学入門」で全体像の把握。

また「Pythonエンジニア認定データ分析試験」という試験があるらしく、その出題範囲に初歩の線形代数や確率、matplotlib,scikit-learnとかのライブラリの活用も入っていて結構よさげなのでこの試験合格を目標で初歩学習をしようと思う。
今キャンペーン中でブログ内で2023年1月末までに受験する宣言をすると教科書が貰えるからという理由もだいぶちょっとある。
ということで、私は2023年1月末までにPython3エンジニア認定データ分析試験を受験します。
会場と日程を見た感じ、土曜日にやってるっぽいのでそれまでには間に合わせないとね。


微分積分・統計学・線形代数の基礎以降の学習はどこまで必要なのかが不透明で難しい。
だからとりあえずの目標としては、何かしらの機械学習に特化した数学系の本を購入してそれが理解できるように微分積分・統計学・線形代数をそれぞれ別の教材で学ぶという感じにしようかなと思う。

統計検定というのもあるので、活用できそうであれば活用しようと思う。

4.プログラムの勉強

一応ロードマップに含まれていたので入れておいたけど、とりあえずは今の能力で大丈夫だと思っているのでここは飛ばす。

5.PythonやNumPyを用いたデータ分析の方法を学ぶ

PythonやNumPyを使って、データが与えられた時に、どのように読み込みや分析を行えばいいかについて学ぶことが目標らしい。
ここは前回にも触れたKaggleで良いと思うので。Kaggleのタイタニックを実際にやってみよう。

そして、ここでやっとタイトルにもある「偶然の友達」を。
久しぶりに高校の友達とゲームをしてたら、友達の一人が人工知能を本気で学んでいるという話になった。
そう、Kaggleはチームを組めるので高校の友達とまさかのチームを組めるということである。
かなりモチベーションとプレッシャーが上がったので、友達の為にも、自分の為にもKaggleを弄れるくらいにはなろう。

6. 機械学習・深層学習の勉強・実装

ここに関しては知識がなさ過ぎて何を学ぶのかがイメージできない。
深層学習について学ぶのがメインっぽいんだけど、何をするのかがわからないのでとりあえずは保留。
聞いたことのある「ゼロから作るDeep Learning」等の本が紹介されていたからそこらへんを弄ることになるのかな?

7.実践

恐らくここまで行けば「曲を自動で繋ぐAI」がどれくらいの難易度なのかが分かると思うので、難易度次第では他の音楽系人工知能を作ることになると思う。
目標としては音楽系人工知能を使ってゼミの研究報告会で発表すること。
このロードマップは一応1~7で構成されてるけど、1~4までは順不同で同時進行でも良いと思うから、結構自由にやろうと思う。

まとめ

1.UdemyのAI基礎でさわりを感じる
2.G検定の公式テキストで全体的な把握
3-1.中学数学からはじめるAI(人工知能)のための数学入門」で全体像の把握
3-2.Pythonエンジニア認定データ分析試験合格で初歩数学とライブラリ基礎の習得
3-3.数学の機械学習特化の本を理解できるように微分積分線形代数統計学の勉強
4.Kaggleでデータ分析や実践的なことを学ぶ
5.深層学習なるものを学ぶ
6.実際にじぶんで課題を作って実践する