ソフトウェアセキュリティⅠ

科目基礎情報

学校 高知工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 ソフトウェアセキュリティⅠ
科目番号 I5018 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 SD 情報セキュリティコース 対象学年 5
開設期 前期 週時間数 2
教科書/教材 教科書は用いず,スライドで説明する。
担当教員 岡村 修司

到達目標

1. 深層学習の特徴を理解し,説明できる。
2. 深層学習の学習について理解し,説明できる。
3. 深層学習の学習の精度を評価する手法について理解し,説明できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1深層学習の特徴を理解し,説明できる。深層学習の特徴を理解している。深層学習の特徴を理解していない。
評価項目2深層学習の学習について理解し,説明できる。深層学習の学習について理解している。深層学習の学習について理解していない。
評価項目3深層学習の学習の精度を評価する手法について理解し,説明できる。深層学習の学習の精度を評価する手法について理解している。深層学習の学習の精度を評価する手法について理解していない。

学科の到達目標項目との関係

学習・教育到達度目標 (C) 説明 閉じる

教育方法等

概要:
ネットワークに対する攻撃には様々な手法があり,現状では,主としてマンパワーによってこれに対応している。近年,これらの攻撃に対して,深層学習を用いて対応するシステムの開発が行われている。様々な攻撃手法を深層学習により分類(認識)し,効果的に対応できるシステムが求められている。深層学習の学習および学習精度の評価を行う基本的なニューラルネットワークを構築し,その過程を通じて,深層学習の特徴,学習および学習精度の評価手法を理解する。ニューラルネットワークの構築はPythonで行うので,Pythonも併せて学習する。
授業の進め方・方法:
基本的に演習形式で行う。Google Classroom上にスライドをアップロードするので,これを用いて学習内容の説明を行う。これをPythonによって記述する。プログラムを記述する過程を通して,学習内容を理解する。学習内容を確認し,理解を深めるため,課題を出す。授業は各自のノートPCあるいはRaspberry Pi上のLinux環境で行う。
注意点:
試験の成績70%,平素の学習状況(課題等)を30%とし,総合的に評価する。成績評価は中間と期末の各期間の評価の平均とする。授業中は他の学生と相談してもよいが,各自が主体的に取り組むことが重要である。授業に真剣に取り組まない,指定された期日までに課題を提出しないなどの場合には,平素の学習状況を減点することがある。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
学習環境の構築
授業の進め方,評価方法などについて理解する。
Python処理系,ライブラリがインストールでき,これらを用いてプログラムを記述することができる。
2週 Python入門 Pythonの基本的な構文を学習し,対話モードでのプログラム開発手順を理解する。
3週 パーセプトロン ニューラルネットワークの起源となるシステムの概要を理し,基本的な関数を記述する。
4週 ニューラルネットワーク ニューラルネットワークの基礎について理解し,代表的な活性化関数を記述する。
5週 ニューラルネットワーク ニューラルネットワークの計算を実行するため,多次元配列を扱うプログラムを記述し,簡単な3層ニューラルネットワークを記述する。
6週 ニューラルネットワーク ニューラルネットワークの出力層を設計する。
手書き数字認識のため,画像データセットを読み込むプログラムを記述する。
7週 学習 手書き数字の画像データセットに対して,簡単な推論を行うプログラムを記述する。
8週 学習 手書き数字の画像データセットに対して,簡単な推論を行うプログラムを記述する。
2ndQ
9週 学習 まとまったデータを1度の関数呼び出しで処理する,バッチ処理を行うプログラムに書き換える。
10週 学習精度の評価 ニューラルネットワークの学習では,最適なパラメータを求める。そのための評価基準である損失関数を記述し,損失関数の値を最小化するため,関数の傾きを利用する。そのため,数値微分を行うプログラムを記述し,偏微分が行えるようにする。
11週 学習精度の評価 全ての変数の偏微分をベクトルとしてまとめた勾配を利用して,損失関数の最小値を求める(勾配降下法)プログラムを記述する。
12週 学習精度の評価 手書き数字画像を使って学習する2層のニューラルネットワークを記述する。
13週 学習精度の評価 勾配を計算する関数を多次元配列対応に書き直す。
14週 深層学習による手書き数字の認識 手書き数字画像データセットを,2層のニューラルネットワークで分類する。
15週 深層学習による手書き数字の認識 学習の成果をテストデータを用いて評価する。
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験平素の学習状況相互評価態度ポートフォリオその他合計
総合評価割合70300000100
基礎的能力5020000070
専門的能力2010000030
分野横断的能力0000000