2 ポイント 投稿者 GN⁺ 2023-11-27 | 1件のコメント | WhatsAppで共有
  • Simon J.D. Princeの2023年のMIT Pressの書籍 Understanding Deep Learning に沿って学べるよう、コーディング演習・講義資料・追加読書を1か所に集めた学習サイト
  • 書籍全体をカバーする Python notebook 68本 が提供され、学習者が本文を読みながら空欄コードを埋める実習形式
  • 教員向け資料には、図版ファイル、最初の12章の動画講義、スライド、解答小冊子、授業用インタラクティブ図、数式のLaTeXファイルまで含まれる
  • スライドは 20講の学部向けディープラーニング講義 を想定した構成で、教師あり学習からCNN、画像生成、Transformers and LLMsまで続く
  • 追加読書資料はコンピュータビジョン、機械学習の数学、最適化、強化学習、ML理論、Responsible AIなどへ広がっており、独学にも講義準備にも活用できる

書籍情報と引用

  • Understanding Deep Learning はSimon J.D. Princeによる書籍で、BibTeX引用情報ではMIT Pressが2023年に出版したものとして記載されている
  • 提供されているBibTeXエントリには次の情報が含まれる
    • author = "Simon J.D. Prince"
    • title = "Understanding Deep Learning"
    • publisher = "The MIT Press"
    • year = 2023
    • url = "http://udlbook.com";

書籍に沿ったコーディング演習

  • サイトでは書籍全体を網羅する Python notebook演習68本 を提供している
  • 演習は本文をもとに 空欄コード を埋める形式
  • ノートブックはGitHubの udlbook/udlbook リポジトリにあり、各項目は ipynb/colab リンクで開ける
  • 基礎とニューラルネットワーク構成

    • 序盤の章では 背景数学、教師あり学習、浅いニューラルネットワーク、活性化関数、ネットワーク合成、深層ニューラルネットワークを扱う
    • 損失関数の演習には least squares loss、binary cross-entropy loss、multiclass cross-entropy loss が含まれる
  • 最適化と学習計算

    • 最適化ノートブックでは line search、gradient descent、stochastic gradient descent、momentum、Adam を扱う
    • 勾配計算の演習には toy modelでの backpropagation、一般的な backpropagation、initialization が含まれる
  • 性能、正則化、CNN

    • 性能関連の演習では MNIST-1D performance、bias-variance trade-off、double descent、high-dimensional spaces を扱う
    • 正則化の演習には L2 regularization、implicit regularization、ensembling、Bayesian approach、augmentation が含まれる
    • convolution の演習には 1D convolution、MNIST-1D convolution、2D convolution、downsampling & upsampling、MNIST向け convolution が含まれる
  • 現代ディープラーニングの話題

    • ネットワーク安定化と構造に関するノートブックでは shattered gradients、residual networks、batch normalization を扱う
    • Transformer の演習には self-attention、multi-head self-attention、tokenization、decoding strategies が含まれる
    • グラフニューラルネットワークの話題には graph representation、graph classification、neighborhood sampling、graph attention networks が含まれる
    • 生成モデルの演習では GAN toy example、Wasserstein distance、normalizing flows、latent variable models、diffusion models を扱う
    • 強化学習の演習では Markov decision processes、dynamic programming、Monte-Carlo methods、temporal difference methods、control variates を扱う
    • 最後の話題には random data、full-batch gradient descent、lottery tickets、adversarial attacks、bias mitigation、explainability がある

講義と教員向け資料

  • 教員向けリソースには 図版資料、スライド、解答小冊子が含まれる
  • MIT Pressに登録すると answer booklet を受け取れる 登録リンク が提供されている
  • Interactive figures は授業でアイデアを説明するための資料
  • すべての数式を含む working Latex file が提供されている
  • 20講の学部向けディープラーニングスライド

    • スライドは 20 lecture undergraduate deep learning course のための資料
    • 公開されているスライドのテーマには Introduction、Supervised Learning、Shallow Neural Networks、Deep Neural Networks、Loss Functions、Fitting Models、Computing Gradients、Initialization、Performance、Regularization、Convolutional Networks、Image Generation、Transformers and LLMs が含まれる

追加読書資料

  • サイトでは、Understanding Deep Learning と似たスタイルで同じ記法を使う他の文章、ブログ、書籍も追加資料としてまとめて提供している
  • コンピュータビジョンと機械学習の基礎

    • Computer vision: models, learning, and inference は2012年にCUPから出版された書籍で、確率モデルに焦点を当て、ディープラーニング以前の時代のML内容を多く含む
    • 機械学習の数学資料では 線形代数、確率入門、確率分布、確率分布の当てはめ、正規分布を扱う
    • 機械学習資料には learning and inference、regression models、classification models、few-shot learning と meta-learning が含まれる
  • Transformers、LLMs、NLP

    • Transformers と LLMs の資料には LLM 概要、Transformers I・II・III、LLM学習と fine-tuning、LLM inference speed-up が含まれる
    • NLP資料では neural natural language generation、parsing I・II・III、XLNet を扱う
    • Transformer 関連の話題には self-attention、position encoding、multi-head 構造、Transformer block、encoder、decoder、training tricks が含まれる
  • 最適化、時系列モデル、強化学習

    • 最適化資料には gradient-based optimization、Bayesian optimization、SAT Solvers I・II・III が含まれる
    • 時系列モデル資料では Kalman filter、smoothing、Extended Kalman filter、Unscented Kalman filter、particle filtering を扱う
    • 強化学習資料の Transformers in RL には、RLの課題、RLにおけるTransformerの利点、representation learning、reward learning、policy learning、interpretability、applications が含まれる
  • ODEs、SDEs、ML理論

    • ODEs and SDEs in machine learning の資料群では ODEs、SDEs、gradient descent、stochastic gradient descent、residual networks、diffusion models、physics-informed machine learning を扱う
    • 関連資料には ODE入門、ODEの closed-form solutions、ODEの数値解法、stochastic processes and SDEs が含まれる
    • ML Theory 資料には gradient flow、neural tangent kernel、NTK applications、Bayesian ML I・II、Bayesian neural networks、neural network Gaussian processes が含まれる
  • 教師なし学習、グラフィカルモデル、Responsible AI

    • 教師なし学習資料では complex data densities、variational autoencoders、normalizing flows を扱う
    • グラフィカルモデル資料には graphical models、models for chains and trees、models for grids が含まれる
    • Responsible AI 資料には bias and fairness、explainability I・II、differential privacy I・II が含まれる

1件のコメント

 
GN⁺ 2023-11-27
Hacker Newsの意見
  • ここのコメントはおおむね二つのタイプに分かれる: 1) こうした知識がなくてもAIシステムは作れるので知らなくてもよい、2) 実際に何が起きているのか理解するにはこうした基礎知識が必要だ
    どちらも正しくて、この分野はMLエンジニアMLサイエンティスト/研究者という二つの能力に分かれつつあるのだと思う
    チームには両方いた方がよい。サイエンティストは遅いことがあり、エンジニアは複数のAPIやオープンソースモデルを素早く試すが、行き詰まったりアルゴリズムを変える必要が出たとき、多くのエンジニアは揺らぐ。このとき、多くのエンジニアにはなじみの薄い研究開発的な思考が必要になり、AIサイエンティストが重要になる

    • 私の経験ではむしろ逆だった。人はシステムを作る力と、解く価値のある問題の大半が退屈で定型的ではない手法を必要とするという点を過小評価している
      この10年間、いくつものチームで同じパターンを見てきた。会社に多少予算がつき、自分たちの問題は特別だと信じたあと、論文が数本ある博士号持ちのデータサイエンティストを採用するのだが、彼らはRしか分からず、Pythonはブートキャンプを終えたばかりという程度であることが多かった
      3か月経っても成果は乏しく、Jupyterノートブックばかり大量にあり、プロダクションコードはなく、実験環境すらない人もいた
      ビジネス上の問題はそのまま残る。会社は、データサイエンティストは多いのにデータ/MLエンジニアが足りないと、プロダクション配備で詰まったり、Python理解不足のせいでデータパイプライン+アルゴリズム+インフラのデス・スターを作ってしまい、リソースを70%多く使うようになることに気づく
      プロジェクトは遅延し、人々は焦り始める。年250万ドルのチームが、バッチ処理やREST APIでの提供すらできず、概念実証も出せない状況になる
      会社は推進力を失い、競合は不完全でも先行したソリューションを出してユーザーを集め、改善を重ねていく。その後、PMとエンジニアリングマネージャーが責任の所在を巡って争い、プロダクト/エンジニアリング担当VPはスケープゴートを探し始める。何人かの博士は解雇され、地元の大学で教えるようになる
    • この区分は似たようなたとえに見えるだろうか。モデルを作る人とモデルを使う人、プログラミング言語を作る人とその言語を使う人
    • これはAIサイエンティストを売り込むための営業文句のように聞こえる
    • 実務で行き詰まったら基礎に戻るというのはほとんど自明で、優秀な人なら両方やろうとすべきだ
      その意味で、MLエンジニア/サイエンティストという分断がどこから来るのか分からず、一部の人が自己満足のためにしている区分のようにも見える
  • これを見逃してきた立場として、今学ぶことにはもう歴史的な意味しかないのか、それとも今後の雇用にもなお関係があるのか気になる
    AIに関しては、OpenAIがみんなの昼食を奪ってしまうかのように想像してしまうのだが、完全に的外れだろうか?

    • 実用的な目的で最も重要なのは、この代物が実際に何ができるのかを学ぶことだ。MLの周辺には、「AIを投げ込めば魔法のようによくなる」というぼんやりした考え方が多い
      Karpathyの最近のLLM解説動画のような資料は、一般向けの良い“やや誇張控えめ”な資料だが、もう一段深い実務感覚は実際に手を動かさないと得にくい。数学をすべて暗記する必要はないが、構成要素の「インターフェース」がどんな感じか知っておくのはよい
      各モデル手法が実際に何をしているのか、特に残りのスタックとうまく統合されなければならない推論時に何をするのかが重要だ
      今後も関係があるのかという問いについて言えば、特定の関数を最適化するよう学習した高密度ニューラルネットワークという意味でのディープラーニングは、実務的には約15年間、根本的には変わっておらず、理論的にはさらに古く、ほとんどの用途ではOpenAI系よりはるかに重要で広く使われている
      広告最適化や金融モデリングのように数値推定が入るものではLLMを使わず、より大きなシステムの一部として目的特化型モデルを使う。「数値を入れて数値を受け取る」インターフェースは説明可能で、ソフトウェアスタックに統合しやすく、測定もしやすい
      理解可能な誤差幅があり、ときには一貫性すらある。突然会社の機密を吐き出したり、JSONシリアライズを忘れたりしない、制御可能なインターフェースでもある。レイテンシやコストもはるかに低い
      Webページを100ms以内にレンダリングしたり、数百万の選択肢に対して最適化を回したりしなければならないなら、生成AIは実用的な選択肢ではなく、今後もそうである可能性が高いと思う
      数学や理論MLの背景はそれほど強くないが、この10年の大半をMLの専門家たちと一緒にインフラ、データパイプライン、モニタリングを作りながら過ごしてきた。シグモイドをその場で積分することはできなくても、それが本質ではない。一度はやったことがあり、関数がどう動くかの感覚はあり、ブラックボックスな構成要素として推論できる
    • これはLLMの上位カテゴリであるディープラーニングについての話だ。機械学習に興味があるならディープラーニングは学ぶべきで、さまざまな理由で非常に有用だ
      MLのほかの領域と違って、ディープラーニングは構成要素同士がうまく噛み合う。望むならTransformerをCNNと組み合わせて使うこともできる。また、テキスト、画像、動画、音声など、どんなデータにも機械学習を適用できるようにしてくれ、計算的にも自然にスケールする
      この分野にかなり関わっている立場として、LLMのせいで人々がMLやディープラーニングから離れ、「もうやる意味がない」という誤解に従ってしまうのは残念だ。大きなアルゴリズムは実行コストが高く、スループットが遅く、目的特化型モデルより概して性能が劣る。多くの作業ではエンコーダネットワークに比べて使いやすいわけでもない
      偏った考えかもしれないが、コンピューティングの中でも学ぶのが最も楽しい分野の一つだと思う。良いアイデアがあるなら、自宅にある普通のGPUでも最先端級のものを作れる。LLMほど注目されていないニッチを見つければよい
    • MLシステムを作りたいなら、依然として非常に関係がある。OpenAIがメディアを大きく支配しているが、実際には有用で面白いものを作っているチームは非常に多い
    • 応用の観点では、全体のMLプロセスがどう動くのか、中心となる概念は何か、構成要素がどう噛み合うのかを理解する方が重要だ
      ディープラーニングはその一部だ。多くの部分はすでにライブラリやAPIでラップされているので、正しいデータを準備し、適切なAPIを呼び出し、その結果を活用することになる
    • AIサービス市場は誰かが支配するだろうが、小規模なエッジAIの応用は多すぎて、一社で全部を支配することはできない
      たとえばOpenAIは、空気中の特定分子をリアルタイム検出するセンサーチップ上の小さな組み込みニューラルネットワークの開発には関心を持たないだろう
  • この本は印象的。自分の好きなテーマであるディープラーニングの不合理な有効性に関する章もある。他に注目すべき本はあるだろうか?

    • DeepMindのこの発表が基礎的なMLの本を整理してくれている: https://drive.google.com/file/d/1lPePNMGMEKoaDvxiftc8hcy-rFp...
      せっかちな人は123番のスライドを見ればよい。主な推奨はMurphy、Gelman、Barber、Deisenroth
      ただし、このスライドにはベイズ的バイアスがある点は考慮すべき。それでもMurphyは優れたディープラーニング本であり、一般化線形モデルを経てディープラーニングに入るのもよい方法だ
    • 本当に印象的で、このテーマの代表的な教科書になる潜在力があるように見える
      興味深いことに、悪名高いAttention論文は引用数が1万回に近づいており、今年末ごろには到達しそうだ。この重要なマイルストーンに最も早く到達した論文である可能性が高い
      Attention論文以前に書かれたディープラーニング本は古いと見なすべきで、更新が必要だ。ニュートンの法則はあるがアインシュタインの質量エネルギー等価式が欠けている古い物理の教科書に近い状況だ
    • https://news.ycombinator.com/item?id=38425368
  • 今から始めてAIを読み学べば、専門家に近いレベルになれるだろうか?
    修士号や博士号が必要な道のりを始めることになるのではないかと心配している

    • この本を読めば基礎理論は非常にしっかり身につき、多くのMLエンジニアより深く理解できるようになるだろう
      ただし、実際のシステムを動かすのに必要な細かなコツや直感といった実務上の教訓は欠けるかもしれない。これは時間がかかるし、科学であると同時にある意味では芸術でもあると思う
    • 学ぶべき情報が増え続ける世界で、役に立つ唯一の指標は「これを学ぶのが楽しいか?」と自分に問うことだ
      「専門家になれるか?」のような問いは曖昧で、よい指標にはなりにくい
    • 目標がわからないと答えるのはとても難しい。ディープラーニング実務者になりたいのか、研究者になりたいのかで違ってくる
    • おそらく専門家にはなれない可能性が高いが、そもそもなぜ専門家になりたいのかがよくわからない
  • 有名なテック企業でさまざまな機械学習プラットフォームを10年間扱ってきたが、自分が手がけたものはどれもかなり早く時代遅れになった
    MLアルゴリズムから計算プラットフォームまで、どれも非常に一時的だった。そこに、MLの革新の大半を少数のエリート企業が生み出しているという事実まで加わると、こうした資料をたくさん学ぶこと自体が矛盾のように感じられる

    • 機械学習プラットフォームは時代遅れになる
      だが、機械学習アルゴリズムとアイデアはそうではない。SVMやナイーブベイズを学んでも今日役立つものを得られなかったのだとしたら、実際には何も学んでいなかったということだ
    • ディープラーニングのかなり多くの手法はすでに時の試練に耐えている。新しい手法も、以前の手法に依存するか、その欠点を解決しようとして開発される
      たとえばTransformerは、長い系列におけるLSTMの勾配消失を解決し、LSTMが時間軸で本質的に逐次的であるためGPUの活用効率が低いという問題を改善するために開発された
    • 強く反対する。時代遅れになったのなら、最新の流行ばかり追っていた可能性が高い
      基礎は大きく変わらない。この分野にはさまざまな流れがあり、長く生き残って実際に使われているアルゴリズムも非常に多い。もちろん望めば一部をアップグレードすることはできるが、白ウサギを延々と追いかけても手元に残るのは綿くずだけだ
    • 技術でそのまま維持されるものはごくわずかだ。技術は別の形の進化として見るべきだ
      個人的には、進化と同種の力が技術を動かしていると思う。Linus TorvaldsもLinuxが自然選択によって進化したと言っていた気がする
    • では、どんな基礎知識を学ぶべきだろうか? MLにも年月が経っても有効な一般原則があるのではないか?
  • こういう本は判断がとても難しい。目次だけ見て判断すべきなのだろうか?
    著者が誰なのか、高く評価されている別の著作があるのか、内容を理解している人たちのよいレビューがあるのか、何も知らない学生たちのよいレビューがあるのかが気になる

    • 著者は強くおすすめできる。前著のComputer Vision: Models, Learning, and Inferenceは読みやすく、非正統的な観点からテーマにアプローチしており、本文を支える優れた図が多い
      この本は紙の本で買うつもりだ
    • 検索で確認できる
      目次だけで判断するのかと言っていたが、リンク先のサイトでは1〜21章の草稿500ページ以上をダウンロードできる
      著者のSimon J. D. PrinceはUniversity of Bathのコンピュータサイエンス名誉教授で、Computer Vision: Models, Learning and Inferenceの著者だ。AIとディープラーニングを専門とするリサーチサイエンティストであり、Anthropics Technologies Ltd、Borealis AIなどで学界と産業界の研究科学者チームを率いてきた
      高く評価されている他の出版物として、CVPR、ICCV、SIGGRAPHのようなトップ会議で50本以上の査読付き論文がある: https://scholar.google.com/citations?user=fjm67xYAAAAJ&hl=en
      レビューについては、この本はまだ出版されておらず、いま見ているのは文字どおり無料の草稿だ。Amazonでは85ドルの予約注文として掲載されている
    • 完全なPDFがそのページで無料ダウンロードとして提供されている。一番上の最初のリンクだ
      https://github.com/udlbook/udlbook/releases/download/v1.16/U...
    • Marcus Hutterが[Marcus' AI Recommendation Page]で「Prince(2023)はディープラーニングに関する唯一の優れた教科書だ」と書いていた
  • ばかな質問でなければいいのだが、紙の本はどうやって買えるのだろう?

  • PDFの図で、Why does deep learning workDeep learning and ethics を指しており、その逆も同様であるように見える

  • 2016年にIan Goodfellowの Deep Learning を最後に読んだ立場からすると、RNNの章 はなく、Transformerの章があるのは興味深い

    • RNNは、現在入手可能なコスト効率の高いハードウェアで学習するには構造的に非効率で、ハードウェア宝くじ に負けたようなもの
      そのため、今ではあまり使われていない。ただ、個人的には概念的に十分興味深いので、このような講義で扱う価値はあると思う