カテゴリー
未分類

進捗11/30

進捗一覧

・結合方法を変えて実験
・ドロップアウトの係数を0.4にして96エポック学習
・CNNとMLPを学習させずに実験

結合方法を変えて実験

Concatenateレイヤーに入力する際のCNNとMLPの出力を変えて実験を行いました。

条件一覧
・(None, 32)で直列に結合
・(None, 64)で直列に結合
・(None, 1, 32)で並列に結合
・(None, 24, 64)で並列に結合
・(None, 96, 16)で並列に結合

評価結果maermseR2
(None,32)直列1.98322.56920.0775
(None,64)直列2.03812.6855-0.0079
(None,1,32)並列1.98402.55510.0875
(None,24,64)並列1.96992.61970.0408
(None,96,16)並列2.14922.8204-0.1117
評価結果

全体的にあまり変化は見られませんでした。
学習過程においても、今までと同じ傾向でした。
(全体的にバリデーションの値が悪く、直列より並列の方が学習自体は収束する。)

ドロップアウトの係数を0.4にして96エポック学習

前回に引き続き、CNNのドロップアウト係数を上げて実験を行いました(過学習対策)。48エポック目のモデルに対して追加で学習を行いました。

・学習過程グラフ

※オプティマイザーのパラメータが初期化されたため、49エポック目でloss, maeが下がっている (学習には問題ない

評価結果maermseR2
96エポック1.68532.29940.2444
48エポック1.61132.32740.2259

評価結果にあまり違いは見られませんでした。

CNNとMLPを学習させずに実験

CNNとMLPをフリーズさせて実験を行いました。
(結合後のレイヤーのみ学習)
Concatenateレイヤーへの入力はCNN・MLPそれぞれ直列で(None, 16)、並列で(None, 1, 16)です。

評価結果maermseR2
学習なし:直列1.75602.38270.1887
学習なし:並列2.13992.6760-0.0009
学習あり:直列1.91012.50750.1213
学習あり:並列1.85592.43180.1735

・学習過程(直列)

・学習過程(並列)

テストデータによる評価については、CNNとMLPの学習をフリーズさせた場合に直列では評価が上がり、並列では下がりました。
学習過程に関して、maeとlossの値は悪化したことから、CNNとMLPを学習させた場合に比べて特徴を抽出できていないことが考えられます。今後は結合後のレイヤー数を増加させて実験を実験を行います。

今後の予定

・CNNとMLPをフリーズさせて実験(続き)
・データ拡張についての実験
・修論の章立てを考える

カテゴリー
未分類

進捗11/16

進捗一覧

・10分割交差検証
 結合方法の実験(Concatenateレイヤー(直列))
・ドロップアウト(ハイブリッドモデル内のEfficientNetの部分)
・中間発表会資料作成

10分割交差検証

10分割交差検証MAERMSER2
平均値
±標準偏差
1.8011
± 0.1747
2.4151 
±0.2112
0.1766
±0.1543
4分割交差検証MAERMSER2
平均値
±標準偏差
1.7854
± 0.1538
2.8009 
±0.7618
– 0.1450
±0.6824

・学習が安定しているため、10分割交差検証で実験を進める
・MAEはほとんど変わらないが、RMSEは約0.4の差があった

結合方法の実験(Concatenateレイヤー(直列))

CNNとMLPの結合方法についての実験の続きをおこなった。
今回はConcatenateレイヤーを用いて、CNNとMLPの出力層を直列に繋いだ。それぞれの出力層のshapeは以下の通り。

CNN・MLPの出力:(None, 16)

・学習過程グラフ

・評価結果

MergeレイヤーMAERMSER2
Concatenate
(垂直方向に結合)
1.85592.43180.1735
Concatenate
(
水平方向に結合)
1.91012.50750.1213
average1.86832.43500.1713
add1.86582.42200.1801

他の結合方法に比べてやや精度が落ちた。

ドロップアウト

ハイブリッドモデル内のCNNのドロップアウトの係数を0.2(デフォルト)から0.4に変更した。

・評価結果(dropout=0.2(デフォルト))

10分割交差検証MAERMSER2
平均値
±標準偏差
1.8011
± 0.1747
2.4151 
±0.2112
0.1766
±0.1543

・評価結果(dropout=0.4)

maermseR2
1.61132.32740.2259

テストデータによる評価では、係数を上げると精度がやや上がった。

学習データとバリデーションデータに関してはやや精度が下がった。

中間報告会資料作成

中間報告会に向けて資料を作りました。
明日が本番なのでがんばります。

今後の予定

・結合方法の実験を優先して進める
・並行してその他の実験を進める

カテゴリー
未分類

進捗11/8

進捗一覧

・ローカル環境の構築
・2020-2023年度のデータでの学習(4分割交差検証)
・モデルの結合方法の実験(途中)
・中間発表会プレゼン資料の準備

ローカル環境の構築

自宅のPCで実験をするための環境を整えました。
動作環境は以下です。今のところ問題なく動いています。
これから実験の数が増えてくるので、GoogleColabと並行して実験を行なっていきます。

OS:Win10
IDE:vscode
GPU:GTX1070Ti
CUDA:11.2
cuDNN:8.1
Python:3.10.11
TensorFlow:2.9.1
tensorflow_addons:2.9.1

2020-2023年度のデータでの学習

2020-2023年度のデータを用いて4分割交差検証を行いました。条件は以下の通りです。

モデル構成:ハイブリッドモデル
画像データ:2020〜2023年度の全データ(領域抽出済み)
糖度データ:各側面(平均値ではない)
エポック数:48
ランダムシード:0
評価方法:4分割クロスバリデーション
データ:学習・バリデーション・評価全てに拡張データを使用

黒色背景データ
(糖度各側面)
平均値分散標準偏差
MAE1.78540.02370.1538
RMSE2.80090.58040.7618
R-0.14500.46570.6824
評価結果

引き続き10分割交差検証で実験をしていきます。

モデルの結合方法の実験(途中)

ハイブリッドモデルの結合方法を変更して実験を行なっています。下の図が現在のモデル構成です。

他の結合方法を試すにあたって、CNNの一部に変更を加えました。(Reshape→畳み込み→プーリング層をはさんでMLPの出力層と形を揃えた)

試した結合方法は以下の2つです。
・Averageレイヤー
・Addレイヤー

maermseR
average1.86562.42200.1801
add1.86832.43500.1713

ConcatenateはCNNとMLPの出力層を変更して垂直と並行を入れ替えて結合しました。

maermseR
1.85592.43180.1735

テストデータで評価した結果は変わらなかったもの、学習過程では3つのうちでこの結合方法が最もlossとmaeが収束した(0.5以下程度)。
Concatenateに関して理解が曖昧なので、次回は仕様を確認して層を調整するなどして実験を行う。

中間発表会プレゼン資料の準備

11/12(火)のリハーサルと、11/17(金)の本番に向けてプレゼン資料を作成しています。

今後の予定

・プレゼン資料の準備
・実験の続き(10分割交差検証・結合方法を優先)