到達目標
本講義では,AIと社会の関りを概観したのち,機械学習のうち分類モデルに関する理論および実装方法を取り上げる。さらにIoT分野の標準となっているエッジコンピューティングを経験する。以上をふまえ,到達目標は以下のとおりである。
【目標レベル】
1) AIの基本概念を把握し,AIが社会に与える影響を考察できる。
2) 教師あり分類モデルである Naive Bayes 分類器,SVM,決定木などの理論を理解し,実装を通して分類問題を解くことができる。
3)分類モデルにおける評価指標およびこれに基づくモデルによる評価を適切に実施できる。
4)エッジコンピューティングにおける認識実験を実施し,その限界を考察できる。
ルーブリック
| 理想的な到達レベル(優)の目安 | 標準的な到達レベル(良)の目安 | 最低限の到達レベル(可)の目安 | 未到達レベル(不可の目安 |
評価項目1 | AIの基本概念を把握し,AIが社会に与える影響を深く考察できる。 | AIの基本概念を把握し,AIが社会に与える影響を考察できる。 | AIの基本概念を把握できる。 | AIの基本概念を把握できない。 |
評価項目2 | 本講義で取り上げる全ての教師あり分類モデルの理論を理解し,実装を通して分類問題を解くことができる。 | 本講義で取り上げる半数以上の教師あり分類モデルの理論を理解し,実装を通して分類問題を解くことができる。 | 本講義で取り上げる教師あり分類モデルのうちいずれかの理論を理解し,実装を通して分類問題を解くことができる。 | 本講義で取り上げる全ての教師あり分類モデルの理論を理解できない。 |
評価項目3 | 分類モデルにおける評価指標およびこれに基づくモデルによる評価を適切に実施し,その結果を考察できる。 | 分類モデルにおける評価指標およびこれに基づくモデルによる評価を適切に実施できる。 | 分類モデルにおける評価指標の意味を理解できる。 | 分類モデルにおける評価指標の意味を理解できない。 |
評価項目4
| エッジコンピューティングにおける認識実験を実施し,その限界を考察できる。 | エッジコンピューティングにおける認識実験を実施し,その結果を考察できる。 | エッジコンピューティングにおける認識実験を実施できる。 | エッジコンピューティングにおける認識実験を実施できない。 |
学科の到達目標項目との関係
教育方法等
概要:
第2学期開講
本科目では,前半において機械学習における分類モデルの理論と実装を取り上げる。特に実装においては scikit-learn を用いて,モデル構築プロセスを学ぶ。後半では,深層学習の基礎として CNN (Convolutional Neural Network) および RNN (Recurrent Neural Network) を取り上げた後,CNN の応用である YOLO や OpenPose 等の取り上げ,エッジコンピューティングにおける活用を模索する。
授業の進め方・方法:
各授業回に応じたハンドアウトを提供し,理論を説明した後,Python 言語を用いた実装を試みる。Python言語については改めての講義を行わないため,不案内な者は講師が提供するマテリアルを参照して欲しい。
注意点:
短期間で機械学習,特に分類器を概観するため,早めの進度となる。演習時は学生同士で情報交換しながら,また教員へ質問しながら課題に取り組むことを期待する。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
2ndQ |
9週 |
イントロダクション:AIの歴史と応用分野および社会との関り 機械学習のコードを書くための概論 |
・AIの基本概念と歴史的な発展過程を理解できる ・AIが社会に与える影響(メリット、課題)について考察できる ・機械学習の種類(教師あり,教師なし,強化学習)と特徴を説明できる 機械学習のプロセス(データ収集,前処理,モデル構築,評価)を列挙できる
|
10週 |
探索的データ分析 教師あり分類モデル(1):k-近傍法と線形モデル |
・データの可視化や基本統計量からデータの傾向を把握できる ・データの外れ値や欠損値を検出し,適切に処理できる ・k-近傍法の原理と特徴を説明できる ・線形モデルの基本原理を説明できる ・Python実装でk-近傍法と線形モデルを構築できる
|
11週 |
教師あり分類モデル(2):Naive Bayes 分類器と Support Vector Macihne |
・ベイズの定理と Naive Bayesの原理を説明できる ・Pythonでナイーブベイズ分類器を実装し,評価できる ・SVMの基本原理(最大マージン分離平面の考え方)を説明できる ・カーネル関数の役割と代表的なカーネル(線形,RBF,多項式)を列挙できる ・ソフトマージンとハードマージンの違いを説明できる ・PythonでSVMモデルを構築し,パラメータチューニングできる
|
12週 |
教師あり分類モデル(3):決定木とニューラルネットワーク |
・決定木の構造と動作原理を説明できる ・過学習への対策(枝刈りなど)を説明できる ・Pythonで決定木モデルを構築し,チューニングできる ・ニューロンのモデルと活性化関数の役割を説明できる ・単層パーセプトロンと多層パーセプトロンの違いを理解する ・誤差逆伝播法の考え方を説明できる ・Pythonで簡単なニューラルネットを構築できる
|
13週 |
分類問題における評価指標,モデルの評価方法 様々なモデルの比較・評価 |
混同行列を解釈できるとともに,正解率,適合率,再現率,F1スコアなどの主要な評価指標を定義でき,それらの特徴を説明できる ・ホールドアウト法,クロスバリデーションなどの評価手法を説明でき,それぞれの利点と欠点を理解できる ・評価指標に基づいて、複数のモデルを客観的に比較・評価できる ・モデル選択のプロセス(学習データ,検証データ,テストデータの分割など)を実践できる
|
14週 |
深層学習の基礎 Jetson を用いたエッジコンピューティング |
・主要な深層学習モデルであるCNN, RNN, Transformerについて,その概要を理解できる。 ・深層学習の応用先である画像認識,自然言語処理,音声認識での活用シーンを把握できる。 ・エッジコンピューティングとクラウドとの比較,およびエッジコンピューティングの利点と課題を把握できる。
|
15週 |
YOLO や OpenPose 等の既存モデルを用いた認識実験(1) |
・物体検出モデルであるYOLO,人物検出・姿勢推定モデルであるOpenPose の特徴と調書・短所を把握できる。 ・モデルによる推論と結果の可視化ができる。
|
16週 |
YOLO や OpenPose 等の既存モデルを用いた認識実験(2) まとめ |
・パラメータ調整による精度向上を実現できる。 ・本講義で学んだ内容を整理できる。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | レポート | 合計 |
総合評価割合 | 0 | 0 | 0 | 0 | 0 | 100 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 40 | 40 |
専門的能力 | 0 | 0 | 0 | 0 | 0 | 60 | 60 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |