SlideShare une entreprise Scribd logo
1  sur  15
1
シンギュラリティ株式会社
データセット・サンプルプログラム説明
農業AIハッカソン
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
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
飽差ってなんだ?
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
飽和水蒸気量から
絶対湿度を引いたもの(g/㎥)
飽差 =
つまり、あと、どのくらい空気中に水が入るのか
気孔の動きと密接に関わる
• 光合成に必要な二酸化炭素の取り込み
• 光合成でできた酸素の放出
• 水蒸気の放出
収量をあげる=光合成を活性化させる
=気孔が適切に働く必要がある
4
飽差を管理するということ
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
飽差が低い 飽差が高い
湿りすぎると植物内部と
空気中の水蒸気圧差
がなくなり蒸散できない
(水が吸えない)
乾燥しすぎてるため
水分を出さないよう
気孔を閉じる
(水が吸えない)
光合成が活発な時間帯に適切な飽差(3〜6g/㎥)
を維持するために温度と湿度を管理
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
データセットの項目
 年月日
 時間帯
 一日を15分おきに96分割したインデックス
 連続フラグ
 時系列データを作成するためのフラグ。12時間先のデータが存在
する場合に1
 飽差 (g/m^3)
 温度 (℃)
 湿度 (%)
 土壌水分度(%)
 CO2濃度(ppm)
 日射量(W/m^3)
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
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
サンプルプログラム
 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
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
model.py
 seq2seqを用いた順伝播、誤差計算、学習、評価を行う
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
入力画像群の特徴を
圧縮した中間層 出力側では、前の層の
出力が入力になる
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
train.py
各プログラムを結合して訓練、評価を行う。
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
python train.py
で実行できるが、引数を指定して中間層のユニットすや学習率などを指定可能。
100ステップ毎にバリデーションデータで検証を行いtensorboardのログ出力
13
今のところの結果
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
平均誤差は0.53程度に収束、テストデータでは0.49
最大誤差は結構揺れて24.2程度、テストでは12.6
14
考察
 全体的に平均誤差は収束しているが最大誤差が結構大きい上に揺れ
る
 最大誤差は他の値に関していうと学習のたびに誤差が大きくなるものも
あるので、その辺りの値は学習に使わない方がいいかも
 パラメータは適当なので改善の余地あり
 値として飽差は0〜3程度の値が多く、冬はその値が小さいため3月〜1
1月のデータを元にして作ったバリデーションデータよりもテストの方が
良い精度が出たのではないか
2017/1/14
Singularity Copyright 2016 Singularity Inc. All rights reserved
それではみなさん頑張ってください!!!!!
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

Contenu connexe

En vedette

Wo! vol.37 事例から発想する人工知能系サービスの可能性
Wo! vol.37 事例から発想する人工知能系サービスの可能性Wo! vol.37 事例から発想する人工知能系サービスの可能性
Wo! vol.37 事例から発想する人工知能系サービスの可能性thinkjam.Inc.
 
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法Kazuki Nakajima
 
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選baban ba-n
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノAndroidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノKohei Mochida
 
Watson x Unityで広がる可能性
Watson x Unityで広がる可能性Watson x Unityで広がる可能性
Watson x Unityで広がる可能性kazuya noshiro
 
うんかいったーハッカソン 2016 02-20
うんかいったーハッカソン 2016 02-20うんかいったーハッカソン 2016 02-20
うんかいったーハッカソン 2016 02-20Katsuhiro Morishita
 
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜SORACOM,INC
 
『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기복연 이
 
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料Hashimoto Ayuki
 
Jubatusで始める機械学習
Jubatusで始める機械学習Jubatusで始める機械学習
Jubatusで始める機械学習JubatusOfficial
 
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~ WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~ Harada Kazuki
 
Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~Hiroki Nakayama
 
センサデータ解析におけるJubatus活用事例
センサデータ解析におけるJubatus活用事例センサデータ解析におけるJubatus活用事例
センサデータ解析におけるJubatus活用事例JubatusOfficial
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリングJubatusOfficial
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAIJubatusOfficial
 

En vedette (20)

農業とIoT
農業とIoT農業とIoT
農業とIoT
 
15 ai農業ハッカソン
15 ai農業ハッカソン15 ai農業ハッカソン
15 ai農業ハッカソン
 
Wo! vol.37 事例から発想する人工知能系サービスの可能性
Wo! vol.37 事例から発想する人工知能系サービスの可能性Wo! vol.37 事例から発想する人工知能系サービスの可能性
Wo! vol.37 事例から発想する人工知能系サービスの可能性
 
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
 
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノAndroidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
Androidで野菜を育てる「スマート野菜工場」の仕組みと目指すモノ
 
中小規模のIoT
中小規模のIoT中小規模のIoT
中小規模のIoT
 
Watson x Unityで広がる可能性
Watson x Unityで広がる可能性Watson x Unityで広がる可能性
Watson x Unityで広がる可能性
 
うんかいったーハッカソン 2016 02-20
うんかいったーハッカソン 2016 02-20うんかいったーハッカソン 2016 02-20
うんかいったーハッカソン 2016 02-20
 
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
 
『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기『밑바닥부터 시작하는 딥러닝』 - 미리보기
『밑바닥부터 시작하는 딥러닝』 - 미리보기
 
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料
オープンな次世代食・農情報流通基盤 Nober LODチャレンジ2016応募資料
 
Jubatusで始める機械学習
Jubatusで始める機械学習Jubatusで始める機械学習
Jubatusで始める機械学習
 
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~ WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
WatsonQA応用編~BluemixとWatson Engagement Advisor(WEA)連携~
 
Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~
 
センサデータ解析におけるJubatus活用事例
センサデータ解析におけるJubatus活用事例センサデータ解析におけるJubatus活用事例
センサデータ解析におけるJubatus活用事例
 
発言小町からのプロファイリング
発言小町からのプロファイリング発言小町からのプロファイリング
発言小町からのプロファイリング
 
Jubatus 1.0 の紹介
Jubatus 1.0 の紹介Jubatus 1.0 の紹介
Jubatus 1.0 の紹介
 
地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI地域の魅力を伝えるツアーガイドAI
地域の魅力を伝えるツアーガイドAI
 

農業Aiハッカソン