はじめに
先日、文系学生向け機械学習の講義資料をブラッシュアップする機会があり、自分自身の悩み、学びが多かったので振り返りです。
今回は生成AIで作りすぎてボツになった画像と共に機械学習を見せるという観点で見ていきたいと思います。
文系学生向け資料で悩んだ背景
今回引き継いだ機械学習の資料は「○○概論」のような広く知ってもらえればOKな講義用でした。理系の大学三年生以降の専門性の高いことを要求していません。しかし、文系二年生向けの資料として同じことをすべきでしょうか?Deep Learningやニューラルネットワークのような複雑な数式を出すのは最善策でしょうか?引き継いだ資料はいきなり数式を提示したりして、機械学習の知識があっても難しいと感じました。数式を表に出しにくい、そこが引き継いで悩んだところでありブラッシュアップする価値があると思いました。
数式を隠す解決策
今回、生成AIをかなり活用しました。以下のようなことを期待し、実際に行いました。
- 専門用語を理解しているなら機械学習の多くの問題を短いプロンプトで生成でき、時間の短縮につながる
- GIFアニメーションを活用することで学習プロセスが直感的に分かりやすくなる
- Deep Learningの最終結果などPNGファイルで即座に可視化し理解を促す
- GUIからハイパーパラメータ設定ができ、Deep Learningのハイパーパラメータによる違いを即座に学べる
例えば、挙動を学ぶ方法としてGUI環境のStreamlitを利用してみます。この図は講義資料として生成しましたが、時間とスライド量(粒度)の関係でボツにしました。この結果は後述の「ボツにした画像」の項でまとめています。ここではGUI環境が短時間で作れ、Deep Learningのハイパーパラメータや層の設定(初期値は生成AIにまかせました)が出力されながら実行できるということを認識してほしいです。またハイパーパラメータを変更すると、内部で再計算が行われ学習損失などが再描画されます。

このように挙動を学ぶことは直感的にDeep Learningがどのようなものかを知ることができます。
講義資料では何を見せたのか
生成AI時代の恩恵の一つにこのような講義資料はいくらでもアニメーション画像を追加できることがあると考えています。Javaなどで作っていたらと考えるとゾッとします。そこで20stepごとの回帰直線の最小二乗誤差の動きを見てみます。あまりにも早く基本的な学習が終わるので40stepまで見てみます。
教師あり学習は専門ではなかった(強化学習のほうが専門でした)のでこんなにはやく学習するのか!というのが正直な感想です。ここで大事なのはこのような動きで教師あり学習は動くということを数式を使わず、見せるという点でした。基礎的な内容ですが、生成AIのおかげでリッチに見せることができました。エンジニア観点だとそれくらい常識……でも未学習者からインパクトは与えられたと思います(まだフィードバックを受けていないのでやや妄想)。
余談ですが大学の時実験計画法という講義で「教科書は入門と書かねばだれも買わない。実際は高度だから入門なわけないのに……。」と先生が嘆いていたのを思い出します。今回の資料は高度な内容にもかかわらず、文系の概論という制約が強いなかで作成したのでこの言葉が妙に思い出されました。実際に採用されたテキストはデータサイエンス本のガッツリしたものですが用語説明を簡略化するなど、高度なことを入門にするという点は何となく共通するものがありました。
本資料の作成を通してAI時代でも土台作りは重要だと改めて感じました。座学!やはり座学あってのAIです!!直感で理解できるようなものを生成AIに作らせるとき自身のスキルがなければ難しいという点です。
ボツにした画像
ここから先は講義資料で利用しなかったボツネタです。今回は上記のような本題から外れるため、細かい用語、評価などは簡略化します。Deep Learningって凄い!と感じていただけたら幸いです。
Deep Learningは既存の資料を使うということが決定したので、このあたりはすべてボツになりました。約20枚ほどです……せっかく作ったのでQiitaに上げたいと思います。ここでは意外とネットになかった深層ニューラルネットワークvs決定木、特にDeep Learningの表現力の凄さは分かっていても驚くものでした。
問題
各アルゴリズムの決定境界がスパイラル状のサンプルに対し適切に学習できるか確認したいと思います。しかし、Deep Learningが得意とする分野なので不公平ですが見ていきたいと思います。

適応アルゴリズム
- 深層ニューラルネットワーク(DNN)
- 決定木
- MLPニューラルネットワーク(2層)
- ロジスティック回帰
DNNレイヤ構造
入力(2)
→ Linear(64) → ReLU → BN → Dropout(0.2)
→ Linear(128) → ReLU → BN → Dropout(0.2)
→ Linear(64) → ReLU → BN
→ Linear(32) → ReLU
→ Linear(1) → Sigmoid → 出力(確率)
設定パラメータ
- データサンプル数:200
- 分類閾値:0.50
- DNNエポック数:200
- DNN学習率:0.01
結果
決定境界でどのようなものが作られたか見てみます。ロジスティック回帰などは簡単には解けないということを見せたかったので一緒に表示しました。ディープラーニングの表現力は想像以上で、6層程度の計算量ならCPUで十分なので気軽に試せるのは(コーディング支援ツールがあれば)、生成AI時代の強さだと思いました。

この記事のまとめ
文系学生向けにブラッシュアップした資料から学んだことは、生成AI時代だからこそできるアニメーションや画像、GUIなどの製作時間の短縮、直感的な資料を作ることが容易になったということです。また、講義資料には採用しませんでしたが、GUI環境ではハイパーパラメータを操作しながらDeep Learningのような高度な技術においても即座に変化を理解することに有効であることが分かりました。
最後に、直感的な見せ方をするために専門用語を多用したプロンプトを使ったことです。伝える側はやはり基礎がなければクオリティのあるものを作るのが難しいと感じました。実際、講義資料の作成には何度かブラッシュアップはありました。指摘もしましたし、されることもありました。この記事にまとめることで色々なことが頭の中で消化できたと思います。



