シラバス参照/View Syllabus

授業情報/Class Information

科目一覧へ戻る/Return to the Course List 2023/03/22 現在/As of 2023/03/22

基本情報/Basic Information

開講科目名
/Course
社会情報システム論研究(社会情報システム論)/SOCIAL INFORMATION SYSTEMS(SOCIAL INFORMATION SYSTEMS)
開講所属
/Course Offered by
大学院/
ターム・学期
/Term・Semester
2023年度/2023 Academic Year  春学期/SPRING SEMESTER
曜限
/Day, Period
火6/Tue 6
開講区分
/semester offered
通年/Yearlong
単位数
/Credits
4.0
主担当教員
/Main Instructor
今福 啓
科目区分
/Course Group
大学院科目 講義科目

担当教員情報/Instructor Information

教員名
/Instructor
教員所属名
/Affiliation
今福 啓 経営学科/MANAGEMENT
授業の目的・内容
/Course Objectives
この講義では、実社会で活用されている機械学習とよばれる人工知能の分野についての理論を学習すると同時に、プログラミング言語Pythonを使ってプログラムを作成します。

講義を通じてディープラーニングの細部の構造と動作を修得すると同時に、モジュール(Pythonのライブラリ)を利用するだけでは身につかない深い知識の習得を目指します。
授業の形式・方法と履修上の注意
/Teaching method and Attention the course
個人で使用できるコンピュータ(WindowsまたはMac)を用意してください。
講義を受講する際は、講義方法について説明しますので講義開始前にメールで連絡をお願いします。
事前・事後学修の内容
/Before After Study
事前学修では、授業計画で指定する内容についてテキストの内容を理解してください(講義1回につき2時間)。
事後学修では、講義で学習した内容について復習し、細部の理解を復習してください(講義1回につき2時間)。
テキスト1
/Textbooks1
書籍名
/Title
ゼロから作るDeep Learning
著者
/Author name
斎藤 康毅
出版社
/Publisher
オライリー・ジャパン
ISBN
/ISBN
978-4-87311-758-4
その他(任意)
/other
テキスト2
/Textbooks2
書籍名
/Title
著者
/Author name
出版社
/Publisher
ISBN
/ISBN
その他(任意)
/other
テキスト3
/Textbooks3
書籍名
/Title
著者
/Author name
出版社
/Publisher
ISBN
/ISBN
その他(任意)
/other
参考文献等1
/References1
書籍名/サイト名
/Title
著者
/Author name
出版社/URL
/Publisher
ISBN
/ISBN
その他(任意)
/other
参考文献等2
/References2
書籍名/サイト名
/Title
著者
/Author name
出版社/URL
/Publisher
ISBN
/ISBN
その他(任意)
/other
参考文献等3
/References3
書籍名/サイト名
/Title
著者
/Author name
出版社/URL
/Publisher
ISBN
/ISBN
その他(任意)
/other
評価方法
/Evaluation
指定するファイルをGoogleフォームに提出し、その内容を評価します(100%)。

Googleフォームに課題を提出すると、確認メールが送信されます。
届いたメールは課題を提出したことの証明となりますので、必ず保存してください。


備考
/Notes
関連科目
/Related Subjects
到達目標
/Learning Goal
社会情報システムについての修士レベルの知識を修得し,社会情報システムに関連する諸問題を分析できるようにする.

/Time
授業計画(主題の設定)
/Class schedule
授業の内容
/Contents of class
事前・事後学修の内容
/Before After Study
1 講義で使用するソフトウェアの準備 講義で学習する内容、講義の進め方、成績の評価方法を理解し、講義で使用する Google ChromeとGoogle Colaboratory の導入と操作方法を習得する。
2 プログラミング言語Python Pythonによるプログラム作成の手順を理解し、演算を行う簡単なプログラムを作成する。
3 変数、制御構文 計算結果を記憶する変数と、プログラム実行の流れを変える if, for, while構文 の使い方を習得する。
4 データ構造:リスト、タプル、辞書 複数のデータをまとめて処理する構造を理解し、プログラムを作成して使い方を習得する。
5 関数 プログラミング言語における関数を理解し、関数の使用方法と作成方法を習得する。
6 モジュールについて、モジュールpandasによるデータ処理 Pythonにおけるデータ処理で多用されるモジュールpandasを使ったプログラム作成方法を習得する。
7 モジュールNumPyによるデータ処理、matplotlibによるグラフ描画 モジュールNumPyを使ったデータ処理と、matplotlibを使ったグラフ作成を行うプログラムを作成する
8 パーセプトロン 計算の理論 ニューラルネットワークの構成要素であるパーセプトロンがどのようなものか、動作の理論を修得する。
9 パーセプトロン プログラム作成 パーセプトロンの動作をプログラムで作成する。
10 パーセプトロンの学習 パーセプトロンが学習するプログラムを作成する。
11 パーセプトロンで学習できる問題 パーセプトロンでは、線形分離可能な問題しか学習できないことを理論的に修得する。
12 機械学習(教師あり学習) 機械学習の詳細を学習する前に動作の概要を理解し、プログラムを作成して動作を確認する。
13 活性化関数 パーセプトロンの出力を決定するさまざまな活性化関数の動作と特徴を理解してプログラムを作成する。
14 前半のまとめ パーセプトロンの動作を振り返り、理解できていない部分について再度理解を深める。
15 複数のパーセプトロンを接続する パーセプトロンを複数接続した際の計算について理解し、プログラムを作成する。
16 高次元空間への拡張と活性化関数を組み合わせて学習できる問題を拡張する パーセプトロンを複数接続することで、学習できる問題が拡張されることを理論的に修得する。
17 偏微分 ニューラルネットワークの学習を理解するには偏微分が必要となるため、偏微分について確認して計算する。
18 バックプロパゲーション(ニューラルネットワークの学習理論) ニューラルネットワークで学習するプログラムを作成する前に、実際に計算して手順を確認する。
19 バックプロパゲーション(プログラム作成) バックプロパゲーションで学習するプログラムを作成する。プログラム作成は1回の講義で完成できる内容ではないため、2回の講義に分けて行う。
20 バックプロパゲーション(プログラム作成の続き) 前回の講義の続きとなる、バックプロパゲーションのプログラム作成を行い完成させる。
21 完成させたプログラムを使って機械学習する IrisやMNISTといった機械学習でよく使用されるデータを使って、完成させたプログラムの動作確認と性能評価を行う。
22 最適化手法の違いと実装 学習の際に使用する最適化手法の違いを理解し、プログラムを作成する。
23 機械学習の性能を向上させる手法 機械学習の性能を向上させる手法についての理論を修得する。
24 PyTorch 通常、機械学習を行う際は有名なモジュールを使用することが現実的なため、PyTorchの使い方を理解する。
25 PyTorchを使った機械学習 PyTorchを使ってさまざまなデータの機械学習を行うプログラムを作成する。
26 畳み込みニューラルネットワーク 画像の学習で用いられる畳み込みニューラルネットワークの動作を確認し、プログラムを作成する
27 ディープラーニングの実例 ディープラーニングがどのような場面で用いられているか、具体的な例題を修得する。
28 講義のまとめ 機械学習の全体像を振り返り、理解できていない部分について再度理解を深める。

科目一覧へ戻る/Return to the Course List