OMSCS 2025 Summer (夏学期) では Natural Language (NL) を受講した。自然言語処理に関して、基礎から学ぶことができた。
Overall
昨今、生成 AI の登場により、注目が高まっている自然言語処理に関して学べる授業である Natural Language (NL) を 2025 Summer では受講した。 話題のトピックであり、レビューサイトで授業の負荷的もそこまで高くないとされていたことから、OMSCS の中でも大人気の授業である。オンラインの授業であっても TA の確保などで定員が設定されていることから、常に満員になっており今まで受講したくとも受講することができなかった。OMSCS では、既に受講済みの授業数が多いほど優先的に授業の登録が可能であり、今回やっと自分が登録できるタイミングで空席がある状態であった。 前半と後半で講義のスタイルが変ったが、その変化についていくことができず、期末テストを含め、後半に関しては消化不良であった。
Content
内容に関しては、前半は Georgia Tech の教授が講義をしており、後半は Meta の社員複数名で講義が行われた。前半の Mark Riedl 教授の授業は大変わかりやすく、自然言語処理とは何かから始まり、生成 AI の根幹ともいえる Transformer に関しても深堀りをしていった。しかしながら、後半 Meta 社員の講義に関しては言語モデルの用途が中心であったが、多くのレビューでもあるように、内容が一段階難しくなることに加え抽象的な話が多く、理解することが非常に難解であった。前半部分に関しては、こちらで中間テストに向けてまとめた。
CS 7650: Natural Language Exam 1
期末試験に関しては、内容が難解であったことに加えて十分に時間を確保することができず、まとめを作成することができなかった。 充分な準備ができない状態でテストに臨むことになり、不本意な結果となってしまった。
課題に関しては、プログラミング課題と最終プロジェクトがあった。
Assignment
-
Assignment 1
Pytorch の利用方法に慣れることが目的の課題であり、ネットワークの作成と学習を実装した。 -
Assignment 2
NLP の分類を行った課題であり、感情分析を行うため Naive Bayes、Logistic Regression を実装した。 GLoVe によって生成した埋め込みを基に、Multinomial Regression によってトピック分析を行った。 -
Assignment 3a
RNN を実装し、テキスト生成を行った。Temprature の実装も行い、より期待する結果に近づくよう調整した。 -
Assignment 3b
LSTM、Attention の実装を行った。 -
Assignment 4
Continuous Bag of Words (CBOW) と Skip Grams の実装を行った。 -
Mini Project
以前の課題で学んだことを活用し、Key-Value Memory Network の実装、学習を行う課題であった。しかし、要件が明確ではなく、最終的に何が原因で減点がされていたか不明である。
Key-Value Memory Networks for Directly Reading Documents
Exam
試験に関しては 2 回行われた。持ち込み可能ではあるものの、基本的に記述形式の問題であった。以前の学期では、中間テスト替わりに論文のサマリーレポートだったと聞いているが、今回はテスト形式であった。
- Midterm Exam
- Final Exam
Reflection
仕事でも生成 AI の話を扱うが、その際に理解を深める上でも、前半の授業は非常に有意義なものであった。課題に関しても、言語モデルの根幹となるような概念に触れることができ、多くの学びがあったと思う。後半部分に関しては、しっかりと時間を費やして内容を解釈すべきであった。