Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

農業Aiハッカソン

1,133 views

Published on

農業AIハッカソンサンプルプログラム解説資料

Published in: Engineering
  • Be the first to comment

農業Aiハッカソン

  1. 1. 1 シンギュラリティ株式会社 データセット・サンプルプログラム説明 農業AIハッカソン 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved
  2. 2. 2 今回行ってもらうこと  過去6時間のセンサデータから未来6時間の飽差の値を予測する  センサーデータは2分ごとに取っているものを平均して15分毎にま とめている  計24時系列のデータを用いて未来24時系列の誤差平均を最小に 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 00:00のセンサデータ 00:15のセンサデータ 00:30のセンサデータ 05:45のセンサデータ ・ ・ ・ ・ ・ 入力値 何らかのロジック 06:00の飽差 06:15の飽差 06:30の飽差 11:45の飽差 出力 ・ ・ ・ ・ ・
  3. 3. 3 飽差ってなんだ? 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 飽和水蒸気量から 絶対湿度を引いたもの(g/㎥) 飽差 = つまり、あと、どのくらい空気中に水が入るのか 気孔の動きと密接に関わる • 光合成に必要な二酸化炭素の取り込み • 光合成でできた酸素の放出 • 水蒸気の放出 収量をあげる=光合成を活性化させる =気孔が適切に働く必要がある
  4. 4. 4 飽差を管理するということ 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 飽差が低い 飽差が高い 湿りすぎると植物内部と 空気中の水蒸気圧差 がなくなり蒸散できない (水が吸えない) 乾燥しすぎてるため 水分を出さないよう 気孔を閉じる (水が吸えない) 光合成が活発な時間帯に適切な飽差(3〜6g/㎥) を維持するために温度と湿度を管理
  5. 5. 5 データセットについて  「learningdata.csv」  訓練および検証を行う際に用いるデータセット  2016年3月21日〜11月30日までのデータ  収穫後などの栽培していない時期のデータは欠損  「testdata.csv」  訓練したネットワークの汎用性をテストする際に用いるデータセット  2016年12月1日〜12月31日までのデータ 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 共に15分毎のセンサーデータの平均値が格納されている
  6. 6. 6 データセットの項目  年月日  時間帯  一日を15分おきに96分割したインデックス  連続フラグ  時系列データを作成するためのフラグ。12時間先のデータが存在 する場合に1  飽差 (g/m^3)  温度 (℃)  湿度 (%)  土壌水分度(%)  CO2濃度(ppm)  日射量(W/m^3) 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved
  7. 7. 7 気象データセットについて  「weatherdata.csv」  2016年3月1日〜12月31日までの気象データ  1時間毎の計測値が格納されている 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 項目  年月日時  気温 (℃)  直近1時間の降水量(mm)  日射量(MJ/u)  相対湿度 (%)
  8. 8. 8 サンプルプログラム  TensorFlowを用いた多層RNNのSeq2Seqモデル 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved https://github.com/TakuyaShinmura/agri_ai train.py ・・・ メインプログラム data_sets.py ・・・ データセット構築プログラム model.py ・・・ ニューラルネットワークのモデル生成プログラム data ckpt ・・・ 学習済みモデル保存ディレクトリ logs ・・・ tensorboardのログ出力ディレクトリ
  9. 9. 9 data_sets.py  訓練データ、バリデーションデータ、テストデータを生成するDataSets クラスを提供するプログラム  (バッチサイズ, 時間軸, 入力長)の3階テンソルをnumpyの配列で 返却  DataSets.test_data DataSets.varidation_dataでテストデータと バリデーションデータは返却  バリデーションデータは毎月10日〜13日のデータで作成  DataSets.get_next_batch(batch_size)で訓練データを任意の数の ランダムに切り抜いたミニバッチで返却  データセットは全て平均1、標準偏差0で標準化されている  最大値、最小値、平均、分散はメンバ変数として格納済み  訓練19421件、バリデーション3019件、テスト2732件 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved
  10. 10. 10 model.py  seq2seqを用いた順伝播、誤差計算、学習、評価を行う 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 入力画像群の特徴を 圧縮した中間層 出力側では、前の層の 出力が入力になる
  11. 11. 11 model.py Seq2seqの性質上、今回は温度湿度なども含めて全ての値を予測してい る。また、誤差を計算する際も合算して計算している。 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 00:00のセンサデータ 00:15のセンサデータ 00:30のセンサデータ 05:45のセンサデータ ・ ・ ・ ・ ・ 入力値 seq2seq 06:00の各情報 06:15の各情報 06:30の各情報 11:45の各情報 出力 ・ ・ ・ ・ ・ 評価の際は標準化を元に戻して、平均誤差・最大誤差をログにとっている
  12. 12. 12 train.py 各プログラムを結合して訓練、評価を行う。 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved python train.py で実行できるが、引数を指定して中間層のユニットすや学習率などを指定可能。 100ステップ毎にバリデーションデータで検証を行いtensorboardのログ出力
  13. 13. 13 今のところの結果 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved 平均誤差は0.53程度に収束、テストデータでは0.49 最大誤差は結構揺れて24.2程度、テストでは12.6
  14. 14. 14 考察  全体的に平均誤差は収束しているが最大誤差が結構大きい上に揺れ る  最大誤差は他の値に関していうと学習のたびに誤差が大きくなるものも あるので、その辺りの値は学習に使わない方がいいかも  パラメータは適当なので改善の余地あり  値として飽差は0〜3程度の値が多く、冬はその値が小さいため3月〜1 1月のデータを元にして作ったバリデーションデータよりもテストの方が 良い精度が出たのではないか 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved それではみなさん頑張ってください!!!!!
  15. 15. 15 お問い合わせ ご興味のある企業・団体・個人様は、以下までお問い合わせください。 シンギュラリティ株式会社 http://snglrty.net 東京都港区浜松町 2-7-15 三電舎ビル6F Tel 03-5425-2545 取締役/CTO 新村拓也 E-mail:info@snglrty.net 2017/1/14 Singularity Copyright 2016 Singularity Inc. All rights reserved

×