2025 年度の講義概要のデータベースを検索します。カリキュラムツリーへのリンク
学部・研究科
Faculty/Graduate School
安全
時間割コード
Course Code
75286
科目名
Course title
サブテーマ
Subtitle
AI実習
授業形態/単位
Term/Credits
クラス
Class
/1
担任者名
Instructor
河野 和宏
曜限
Day/Period
金4
授業概要
Course Description
到達目標
Course Objectives

授業種別 / Teaching Types

実験・実習・製図(対面型)

言語 / Language

日本語(Japanese)

授業概要 / Course Description

近年,大量のデータの収集が容易になったこと,コンピュータの処理能力が大幅に向上したことから,人工知能(AI:Artificial  Intelligence)が急速に発展し,世間の注目を浴びるようになった.特に,深層学習を利用すると,将棋や囲碁といったボードゲームではトッププロも含め人がAIに勝つことができなくなったり,ディープフェイクなどのように人目では全く区別がつかない別の人物画像をAIが作り出したりと,人間では到底できないようなことがAIにはできるようになった.2030年ごろには日本の労働人口の49%がAIやロボットで代替可能という試算もあるぐらいである.
ただ,そのようなニュースを聞いて,「AIはすごい」「AIなら何でもできる」と勘違いしている人が多い.AIは魔法の杖ではなく,AIにも得意・不得意なことや限界はある.人ができることのすべてがAIにできるわけではない(逆もしかり).現状ではそうしたAIの中身に対する理解が不十分であり,ただAIに任せたらよいという誤った認識のままとなっており,結果,人がAIを使いこなすことができない状況になっている.
本実習では,現代のAIの中核技術である機械学習を実装し試すことで,AIは何ができて何ができないのか,AIの本質はどこにあるのかを理解し,AIリテラシーを高めてAIを使いこなすことを目的とする.最初にAIやプログラミングの基礎を説明した後,機械学習の各モデルを実装し,様々なデータに対して実行してその結果を検証する.例題となるデータには,表形式で表される一般的なデータから画像・文字といった各種メディアのデータを取り扱う.その後,実際に各自で用意したデータを用いて自身で機械学習を実行し,結果を検証する.
また,本実習では取り扱わなかった,現代のAIを構成する最先端の技術である深層学習の利用方法も紹介する予定である.

到達目標 / Course Objectives

①知識・技能の観点
・AIの中核技術である機械学習を理解することができる.
・機械学習の各アリゴリズムを実装することができる.
②思考力・判断力・表現力等の能力の観点
・課題に対し,実習を通して身に着けたスキルを適切に利用して機械学習を試すことができる.
・機械学習を実行して得られた結果に対し,成功だけでなく失敗であっても論理的に考察することができる.
・機械学習で何ができて何ができないかを表現することができる.
③主体的な態度の観点
・実習に主体的・積極的に取り組むことができる.

授業手法 / Teaching Methods

・教員による資料等を用いた説明や課題等へのフィードバック
・学生による学習のふりかえり
・学生同士の意見交換(グループ・ペアワーク、ディスカッション、ディベート等含む)

授業計画
Course Content

授業計画 / Course Content

第1回  ガイダンス,AIの歴史,機械学習の適用先と実例紹介
第2回  機械学習を行う前の事前準備(1):Pythonによるプログラミング
第3回  機械学習を行う前の事前準備(2):ライブラリの利用方法とデータの読み込み・可視化
第4回  機械学習を学ぶ〜機械学習の基礎的なアルゴリズムを学ぼう〜(1):線形回帰,正則化
第5回  機械学習を学ぶ〜機械学習の基礎的なアルゴリズムを学ぼう~(2):ロジスティック回帰
第6回  機械学習を学ぶ〜機械学習の評価方法と過学習を学ぼう~
第7回  機械学習を試す〜機械学習の代表的なアルゴリズムを試そう〜(1):サポートベクトルマシン(線形,カーネル法)
第8回  機械学習を試す〜機械学習の代表的なアルゴリズムを試そう〜(2):ランダムフォレスト,kNN
第9回  機械学習を試す〜機械学習の代表的なアルゴリズムを試そう〜(3):テキストデータの扱いとナイーブベイズ
第10回  機械学習を試す〜機械学習の代表的なアルゴリズムを試そう〜(4):画像データの扱いとニューラルネットワーク
第11回  機械学習を使う〜自分でAIを作ろう〜:AIの成功例・失敗例を学ぶ
第12回  機械学習を使う〜自分でAIを作ろう〜:学習のための画像データを収集し加工する
第13回  機械学習を使う〜自分でAIを作ろう〜:様々な機械学習アルゴリズムに適用して結果を考察する
第14回  機械学習を使う〜自分でAIを作ろう〜:失敗原因を取り除いてよりよいAIを作る
第15回    総括,課題に対する総評,深層学習に向けて

授業時間外学習 / Expected work outside of class

講義中にはモデルの解説やコードの説明,結果等を説明することになるが,AIは何が得意で何が不得意かを理解しようとしたら,自身で様々なデータを試すことが一番である.理解を深めるためにも,授業で説明したコードを使って別のデータで試したり,教科書にあるコードを使って事前に試してみたりと,予習・復習を各自でする必要がある.
授業時間中は,コードの実行や結果の確認,授業内の課題などに注力することから,場合によっては,機械学習のモデルの説明は,事前に動画を公開して行う.その場合は,履修者は事前に動画を見て予習する必要がある.また,授業内容は,復習用のため録画して公開する予定である.
なお,本実習ではプログラミング,つまり自分でコードを書いて実行するという形になる.コード自体,非常に簡単なものであり,コードも関大LMSにて公開するものの,大多数の学生にとっては初めてのことと思われるので,操作に慣れていない履修者は操作方法を復習する必要がある.

成績評価の方法・基準・評価
Grading Policies /
Evaluation Criteria

方法 / Grading Policies

定期試験を行わず、平常試験(小テスト・レポート等)で総合評価する。
平常成績(30%),レポート(70%)の予定.レポートの内訳は,小レポート2回(20%×2),大レポート1回(30%)の予定.

基準・評価 / Evaluation Criteria・Assessment Policy

総点が60点以上で合格とする.各観点からの評価としては,
 ①知能・技能の観点および②思考力・判断力・表現力等の能力の観点
  レポート(70%)
 ③主体的な態度の観点
  平常成績(30%)
となる.ただし,欠席(遅刻も含まれる)が4回以上の場合,もしくはレポートが一つでも未提出の場合は,原則として不可とする.

教科書
Textbooks

秋庭伸也,杉山阿聖,寺田学,加藤公一(監修)  『見て試してわかる機械学習アルゴリズムの仕組み  機械学習図鑑』  (翔泳社,2019年)  978-4798155654

説明に利用する資料やサイトのURL等はすべて関大LMSにて公開するが,基本的には教科書の内容に基づいて説明するため,履修者は購入しておくこと.紙媒体,電子媒体,どちらでも可.
なお,本実習において対象としている機械学習のアリゴリズムはすべて教師あり学習(回帰:regressionや分類:classificationと呼ばれる問題が対象)に分類されるものである.そのため,教師なし学習(クラスタリング:clusteringや次元削減:dimensionality  reductionと呼ばれる問題が対象)は取り扱わない.

参考書
References

荒木雅弘,渡まかな(作画),ウェルテ(制作)  『マンガでわかる機械学習』  (オーム社,2018年)  978-4274222443
大関真之  『機械学習入門  ボルツマン機械学習から深層学習まで』  (オーム社,2017年)  978-4274219986
大澤文孝  『いちばんやさしい  Python入門教室』  (ソーテック社,2017年)  978-4800711595
鎌田正浩  『確かな力が身につくPython「超」入門 第2版』  (SBクリエイティブ,2022年)  978-4815613723
野口竜司  『文系AI人材になる』  (東洋経済新報社)  978-4492762516
野口竜司  『ChatGPT時代の文系AI人材になる』  (東洋経済新報社)  978-4492047392

様々な機械学習アルゴリズムを知りたい,Pythonを勉強したいといった履修者は,上記の参考書で勉強することをお勧めする.機械学習や深層学習を数学的に理解したい,実装したいという場合は,実習内で参考書籍を紹介する.他方,AIの使い方も含め,一社会人としてどうAIと向き合えばいいかを学びたい場合も,”文系AI”を題材とした上記の参考書を一読することをお勧めする.
なお,書籍の場合,特に実装関係は情報が古くなることから,インターネット上のサイトやマニュアルを参照して齟齬がないか確認すること.

フィードバックの方法
Feedback Method

授業中,理解が不十分であったり,実習が進められていない場合は教員やTA・SA(いる場合)が補佐することで対応する.
授業終了後,反省点や理解が不十分であった箇所を問うためのミニッツペーパーを行い,履修者には必要に応じて提出してもらう.そこで挙げられた疑問点や問題点は,次回の授業時にまとめて回答する.
レポート課題に対するフィードバックは,総評として授業中に返答する.

担任者への問合せ方法
Instructor Contact

オフィスアワー
・授業の前後で対応する.
その他
・学部HPに公開されているメールアドレスもしくは関大LMSの機能を利用すること.

備考
Other Comments

・本実習で行うプログラミングは非常に簡単なものであるため,プログラミング能力は特段必要ではないものの,どうしてもついていけないという履修者は,参考図書等を利用して別途学習する必要がある.
・様々なデジタルデータを扱う関係でITに関する基礎知識が求められたり,一部慣れないPC操作を求められたりするため,最低限,1年次生春学期配当科目である「IT実習」の内容を十分にこなせるぐらいのITリテラシーが必要である.
・進捗状況により授業計画は変更する可能性がある.

※BYOD[ノートPC]の必要性について
・ほぼ毎回BYOD[ノートPC]を使用する.
・PCのOSは問わないが,推奨仕様のOSであるWindowsもしくはMacOSを前提に授業を行う.
・プログラミング言語としてPython,ライブラリとしてScikit-learnなどを利用するが,これらはAnacondaと呼ばれるソフトをインストールすることで簡単に環境構築が可能である.インストール方法を記載したサイトを紹介するので,2回目までに各自でインストールしておくこと.