Week 11: グループワーク3(1回目)
今日やること
チーム作業
それではチームに分かれてもらいます。
機械学習・最適化・数値計算に関するトピックを調べ、それらをJuliaで実装してみてください。
今週と来週に色々実装してもらい、その次の週に発表を行ってもらいます。
最適化や数値計算のトピックについて、例えば下記の書籍の目次などが参考になるかもしれません。
寒野善博,"最適化手法入門",講談社,2019:幅広く最適化について説明がある入門書です。寒野先生の講義の動画も参照ください。
梅谷俊治,"しっかり学ぶ数理最適化",講談社,2020:様々な最適化問題について広く触れられている見取り図です。
梅谷先生のこちらのスライド「60分で学ぶ数理最適化」が大変参考になります。このスライドで概要を学び、書籍で詳しく学ぶといいでしょう。
M. J. Kochenderfer amd T. A. Wheeler, "最適化アルゴリズム", 共立出版, 2022:Juiaによる豊富なソースコードが記載されています。
永井佑紀,"Juliaではじめる数値計算入門",技術評論社,2024:Juliaのコードがついている数値計算入門書です。
今倉暁,"行列計算アルゴリズム 基本から機械学習への応用まで", 講談社,2025:行列を分解する様々なアルゴリズムについて、必要十分な数学の難易度で、完全かつ丁寧なJuliaのコードとともに説明されています。とてもオススメです。
機械学習について、
平井有三, "はじめてのパターン認識", 森北出版, 2012:機械学習に関する入門書です。深層学習以前の基本的な内容が書かれています。これを読んで基本的なアルゴリズムをjuliaで実装してみることは勉強になるでしょう。その場合、juliaのライブライの中の同等のアルゴリズムが既に実装されていると思いますので、そのような公式実装と自分の実装の性能を比べてみると面白いです
岡谷貴之, "深層学習 改訂第2版", 講談社, 2022: 深層学習(ディープラーニング)の理論の入門書です。日本語の文献としては理論の入門として決定版だと思います。この本を読んでディープラーニングの基礎を理解し、次のflux.jlで検証してみるといかもしれあにです。改訂第2版で大幅加筆修正されていますので、そちらを選んでください。
斎藤康毅, "ゼロから作るディープラーニング", オライリー・ジャパン, 2016:深層学習がどのように実装されているか、Pythonで0から実装していくという本です。これを一読しておくと、深層学習ライブラリが内部でどのようになっているのか見通しがつくようになります。この本と上述の「深層学習」は、深層学習の理論と実装の入門書と言えます。そんなに分厚くないので、深層学習を使う場合はまず両方を読んでみるとよいです。この内容をjuliaに移植してみるというのもアリです。
斎藤康毅, "ゼロから作るDeep Learning ❻ ―LLM編", オライリー・ジャパン, 2026:ゼロから作るシリーズの6です。LLMの中身が丁寧に説明されています。LLMの中身を作りながら解説する系の本は色々ありますが、LLMの進化の過渡期にある中で出された本が多かった印象でした。この本はある程度LLMの基本構成が成熟を迎えた段階で書かれた本であり、大変わかりやすいです。上の本と同様に、この内容をjuliaでやってみるというのも面白いです。
flux.jl: Juliaの深層学習のでファクトのライブラリです。このライブラリを動かしてみて、深層学習を体験してみることが出来ます。深層学習モデルを訓練する場合はGPUが必要ですが、colab上で設定することで使うことができます。
松井によるおすすめの教科書も参考にしてください。