メインコンテンツに移動
土木学会 構造工学委員会 構造工学でのAI活用に関する研究小委員会 土木学会 構造工学委員会
構造工学でのAI活用に関する研究小委員会

メインメニュー

  • 委員会サイトホーム
  • 土木学会ホーム

構造工学委員会 構造工学でのAI活用に関する研究小委員会メニュー

  • 構造工学委員会 構造工学でのAI活用に関する研究小委員会ホーム
  • お知らせ
  • 教材・チュートリアル

ユーザログイン

(共用パソコンではチェックを外してください)
  • パスワードの再発行

土木工学におけるAI応用チュートリアル(7)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 11:24

AIを利用したメンテナンスユースケースを考えよう(阿部雅人,杉崎光一)

 

 AI技術を実装する際には図に示すように,データ,手法,ユースケースを考えることが大事です.ここでは手法ごとにユースケースを整理して,実装するためのデータを検討してみましょう.

 

〇教師あり学習

 教師あり学習を行うためには大量の教師データが必要となります.インフラデータでは実際の構造物で異常が発生することは稀であり,教師データを得ることが難しい問題があります.例えば,コンクリートのひび割れや鋼材の腐食などの比較的軽微な損傷についても,正常なデータに比べれば圧倒的に異常データの比率は小さく,これはデータの不均衡と呼ばれています.

 損傷データが写った画像データはその特性上公開されることが少なく,また,アノテーション作業をするのも大変です.学習するためのデータを共有する仕組みが重要です.また,時系列データなどで教師データを作成する方法としては,損傷を模擬した実験を行うこと,もしくは臨床試験を行うなどの方法があります.

 表には教師あり学習のユースケースとして,目で見える異常(材料表面の異常,構造物の大きな傾斜や変位)に対するユースケースを整理しています.目で見ればわかるという現象が大半ですが,人間による見落としを防ぐこと,また長期間監視するための自動化をする上でAIは役に立つと思われます.表には目で見えない異常(材料内部の欠陥,微少な傾斜,変位,剛性低下)の評価についても整理しました.非破壊検査については既存の技術に対してAIが得意となるものを見つけ出すことが肝要です.

 

教師あり学習のユースケースとデータ(見えるものを指標化して監視する)

ユースケース

データ例

実装できそうな事例

画像から変状程度や原因推定および対策施工時期を診断したい

コンクリート表面画像のアノテーション結果

セグメンテーションを利用してひび割れなどの損傷を抽出する

・交通荷重と構造物応答の関係把握と,応答による異常検知をしたい

・過積載車両の自動抽出をしたい

車両通行時の画像とひずみ応答が対応した時系列データ

物体検出による車両種別の特定および時系列解析による固有振動数の推移による異常検知

塗膜劣化や鋼材腐食の進行性把握および塗替え時期の判断

塗膜やさびの状態,腐食量などの判定のついた鋼材画像データ

・セグメンテーションを利用した腐食面積の把握

・画像認識を利用した耐候性鋼材の腐食度の評価

・雨量と斜面崩壊時期の関係.斜面画像データからの斜面崩壊検知

近傍で雨量計測をしている斜面画像データ(静止画,動画)

気象データと画像解析を併用したハイブリッドな手法

・共振やレインバイブレーションなどによる変位量(振動)評価,強風の影響評価と対策検討(共振振動数)

・構造物の大きな変位や変形量の把握

近傍で風速計測しているケーブルや電柱などの画像データ

物体検出とセグメンテーションなどを併用した粒子解析

舗装のひび割れ,平坦性などの評価,舗装補修時期や箇所の選定

ひび割れ,ポットホール判定のある舗装画像(非走行,走行時),もしくは走行振動データ

画像を利用した深層学習結果と車載加速度データによるハイブリッド手法

 

教師あり学習のユースケースとデータ(見えないものを検知しスクリーニング)

ユースケース

データ

実装できそうな事例

打音点検時の音声や画像による浮きの検知手法の検討

浮き判定のある打音時系列,もしくは赤外線画像データ

音声認識による分類

・掘削時の構造物への影響や異常検知.橋脚の応答を利用した洗堀検知

災害前後の実測データ,模型や模擬データなど,掘削量などが既知の構造物応答の時系列データ(振動,変位,傾斜など)

時系列を扱える機械学習手法による異常検知

(SVM,LSTMなど)

外力変化による構造物の応答特性の把握と異常予知および検知手法の検討

・水位データが対応できる橋脚振動時系列データ(洗堀検知)

・雨量データが対応できる擁壁や斜面の傾斜データ

外力と応答の時系列予測手法を利用した異常検知

可動不良や剛性変化による構造物の異常検知方法の検討

温度計測を行っている構造物の応答データ(歪,変位,傾斜,加速度)

温度と歪など,波形パターンの評価や異常検知

 

〇教師なし学習

 教師なし学習は,既存の大量のデータに対してアノテーションをするコストを要さずに活用できる可能性があります.正常データを学習して異常データを検知する方法など,データの不均衡性にも対応できる手法も開発されています.ここでは,教師なし学習の適用についてユースケースを検討してみましょう.

 

教師なし学習のユースケースとデータ(見えるものを指標化して監視する)

ユースケース

データ

実装できそうな事例

・画像データを利用したオペレーション障害検知(車両,列車,河川)

・巡回点検としてのスクリーニング手法の検討

走行時の画像やレーザー&レーダーのデータ(障害物,建築限界,竜巻など異常気象)

画像認識を利用した画像内の異物や異常変位の特定

河川の氾濫時期と位置を検知する

雨量計データと水位計データ

最適化手法

・災害時の落橋や斜面崩壊,災害前後の変化などの異常検知方法の検討

・画像データを利用した,サービス阻害要因の検知(降雪検知,路面凍結検知,河川氾濫),第三者被害検知

・道路わきのカメラ画像データ

・護岸,堤防,溜池,砂防ダムなどの監視画像データ

・衛星画像

画像認識を利用した画像内の異物や異常変位の特定

・画像データを利用した点検者の診断支援

・走行車両など移動体による画像を利用した損傷検知(腐食,漏水,破断)

・ボルトの画像(腐食,弛緩)

・雨樋などの付帯物の画像(晴天および降雨後)

・壁面タイルの画像データ

・鉄塔,電柱などの碍子,電線などの画像データ

・ステレオ計測などを利用した非接触寸法計測

・画像認識や物体検出による異常箇所の自動抽出

 

教師なし学習のユースケースとデータ(見えないものを指標化して監視する)

ユースケース

データ

実装できそうな事例

構造物異常の予兆検知

構造物応答の時系列データ(変位,変形,加速度)

デジタルツインなどを利用したシミュレーションデータ

時系列波形を利用したオートエンコーダーなどの異常検知

移動体を利用した間接的な構造物の異常検知

・列車走行時の車両の応答データ

・路面性状車や車両に搭載したスマホの振動データ

レーダー画像を利用した異常検知

・路面や壁面などの非破壊検査の簡易化

・コンクリートや舗装上から撮影したレーダー画像(空洞)

・太陽光パネルなどの赤外線画像

レーダー画像を利用した異常検知

 

〇マルチモーダルなAI

 画像認識により損傷を検知するのみでは診断などの高度な評価はできません.様々データを利用したマルチモーダルな手法を実装することで,より人間が行っているような作業を代替することが可能となります.ニーズの観点からマルチモーダルな手法のユースケースを考えてみましょう.

 

マルチモーダルな手法

ユースケース

データ

実装できそうな事例

損傷画像と所見を利用した維持管理ストーリーの作成

画像と点検記録

画像キャプショニング

Graph Convolution

避難誘導方法の検討

災害時の車両,列車,人のGPSデータ

ツイッターデータ

チャットボット

点検結果の入力支援

点検画像データ

点群データ

画像からの点検対象部材の抽出,要素の特定

競合作業の把握,現場監理の効率化,作業員の安全監理(高所作業,毒物環境),作業における阻害要因の把握,交通整理や列車見張りなど保安業務の自動化

現場における作業員の画像やバイタルデータ

現場における保安員や工事車両(重機など)の移動データ(GPS)

迂回車両のGPSデータ

RPA

現場準備,作業の事前調整

台帳データと地図情報(図面,点群,GIS)

保安記録データ

議事録データ

資材や資格者の情報

データプラットフォーム

積算基準の見直し,自動積算方法の検討

維持管理予算の推移データ(直接費,経費,機械損料,リース代)

入札情報

チャットボット

作業の平準化,費用対効果の高い工法の選定

材料のイノベーション

材料の品質管理,試験データ

対策工の工法や費用データ

適用事例集

知識モデリング

メンテナンス作業(清掃,簡易補修)への参加度評価

ボランティアの活動内容および作業時間データ

メンテナンスへの理解度アンケートデータ

ブロックチェーン

  • 土木工学におけるAI応用チュートリアル(7) についてもっと読む

土木工学におけるAI応用チュートリアル(6)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 11:10

事例でAIのできることを知ろう

その3 自然言語処理学習例(阿部雅人,杉崎光一)

 

〇自然言語処理

 自然言語処理AIのキラーコンテンツとしては自動翻訳がありますが,問い合わせ対応を支援するチャットボットや,事務作業支援のためのRPA(ロボティック・プロセス・オートメーション)などすでに実用化されているものが多くあります.具体的な手法としては,twitterなどSNSのデータを利用して文章中で出現頻度が高い単語を複数選び,その頻度に応じた大きさで図示するWord Cloudと言われる手法や,言葉のつながりや意味を解釈するためのword2vecなどの手法などがあり,広告業界などでマーケティング手法として活用されております.インフラメンテナンスにおいても,過去の点検記録などを自然言語処理して,対策方法などがレコメンドされる機能などが期待されます.

 

〇実装事例 示方書や点検マニュアルの解析 (サンプルプログラム)

 橋梁点検マニュアルに記載されているテキスト情報について,Word Cloudを実装して,米国の点検マニュアルと日本の定期点検要領を比較してみましょう.図は適用した結果です.米国のマニュアルのほうが,橋自体に対する単語(bridge,structure,deck,culvertなど)が多いように思われます.それに対して,日本の点検要領は,橋自体に対する説明は多くなく,ひび割れ,腐食といった損傷に関する単語や,診断,措置,記録などのプロセスに関する言葉が相対的に多いことがわかりますね.この要因として推察されることですが,日本の点検要領は基準であるのに対し,米国のマニュアルでは教材的な要素が強いなどが挙げられるでしょう.

 次に日本の点検基準や補修補強の手引きなどのテキストを,言葉のつながりや意味を解釈するためのword2vecを利用して分析してみましょう.word2vecは仮説として,単語の意味は周辺に現れる単語の頻度で表現できるというものです.例えば,「応力」に関連する単語について関連する単語を抽出して関連性が高いものをマッピングして可視化した結果ですが,応力という言葉には「局部」,「集中」などの言葉が周辺に多くあらわれるため,近くに表示されていることがわかります.また「進展」,「疲労」などの言葉もあります.これらの単語は足し合わせなどをすることもでき,「応力」+「溶接」などを足し合わせると「集中」などの言葉が大きく関連していることが確率値として出てきます.この結果は,補修補強などの文章において,これらの言葉の頻出頻度が類似しており,また時系列的に順番で出てくるなどがわかりますので,原因や処方箋などを書く際の参考になるかもしれません.

Word Cloud(米国)

Word Cloud(日本)

単語の関係

単語の関連度

 

※サンプルプログラム

〇概要

・点検マニュアルなどのテキストデータを分かち書きして,単語の頻度を分析して単語の関係を可視化するプログラム

・mecab,BeautifulSoup,gensim(word2vec),wordcloudなどを利用

・点検マニュアルなどのテキスト化したデータ(textdataフォルダ)

https://committees.jsce.or.jp/struct10/system/files/textdata.zip

 

〇ファイル名

・sampleprog_3_1_wordcloud.py

 テキストデータを分かち書きして保存する.分かち書きしたデータをwordcloudを利用して可視化する.日本と米国のデータで可視化結果を比較

https://committees.jsce.or.jp/struct10/system/files/sampleprog_3_1_wordc...

 

・sampleprog_3_2_word2vecmodel.py

 分かち書きしたデータを読み込み,word2vecのモデルを作成する.

https://committees.jsce.or.jp/struct10/system/files/sampleprog_3_2_word2...

 

・sampleprog_3_3_word2vecapply.py

 作成したモデルを利用して,単語の関係を可視化する.

https://committees.jsce.or.jp/struct10/system/files/sampleprog_3_3_word2...

  • 土木工学におけるAI応用チュートリアル(6) についてもっと読む

土木工学におけるAI応用チュートリアル(5)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 10:59

事例でAIのできることを知ろう

その2 時系列データに対する機械学習例(阿部雅人,杉崎光一,竹谷晃一)

 多変量解析や時系列データなどにも機械学習は適用できます.実際のデータには異常の有無は既知でないことが多いですが,あらかじめ異常がわかっているものや,異常を模擬した試験体等でデータを得ることができれば,教師あり学習を行うことができます.教師データが得られない場合には,教師なし学習が開発されており,データに応じて適切な手法を選ぶことが課題です.

 

分類

適用条件

適用の際の課題

メリット

教師あり学習

教師付けされたデータが多く手に入る場合

・未知の異常を検知できない

・手法が理解しやすい

・異常の説明がしやすい(特徴量の変化に対する評価)

・学習したデータ以外にも適用できる 

教師なし学習

異常を含むデータが多く手に入る場合

・異常データが観測されていない場合がある

・モデルの説明性

・異常の種類や頻度を決められる

半教師あり学習

異常データがあまり手に入らないがデータ自体が多く手に入る場合

・そもそも正常データの特徴を学習できるか(特徴量がみつからない,ばらつくなど)

・モデルの説明性

・正常ではないが異常でもない事象を抽出した時の解釈性

・対象データごとの正常モデルを作れる

 

〇実装事例(サンプルプログラム)

 ここでは振動や音の波形データを利用して,特徴を学習させて予測や異常検知をする方法について記載します.具体的にはコンクリートを打音した際の音圧データを利用した浮きの検知について実装します.

 データを作成するためには,計測や試験の条件等様々な検討が必要です.ここでは,叩いた位置の浮きの有無がわかっているとして,打撃した際の音をマイクで収録した音圧データがcsvファイルで得られているとします(なお,本データは東工大竹谷研究室で行った試験のデータの一部を利用させて戴いております).音圧データに対して浮きの有無を分類する2値の分類問題を実装したプログラムを紹介します.

 分類では,利用するモデルはニューラルネットワークを使い,入力を波形データ(要素数3000の1次元ベクトル),出力を2要素の1次元ベクトル(浮きがある確率,浮きが無い確率)としております.この場合の波形は時系列ですが,モデルは一般的なDNNモデルを利用しており,特に隠れ層での関係は利用していません.近年ではニューラルネットワークの層を深くする深層学習により精度が向上するような問題が多く取り上げられていますが,深層学習はデータを表現するための特徴量が多くなる問題で有効です.本問題では,分類のための特徴量はそれほど多く必要が無いと考えられ,それほど層を深くしなくても分類ができる例となっています.なお,層を深くするなどの改良は簡単に行うことができます.

 

浮き有無と音圧波形の比較

浮き有無とパワースペトルの比較

学習結果

 

※サンプルプログラム

データ(本データは東工大竹谷研究室で行った試験のデータの一部を利用させて戴いております)

sample_daon_csv

https://committees.jsce.or.jp/struct10/system/files/daondata.zip

 

打音データを学習して,異常個所を分類するプログラム

https://committees.jsce.or.jp/struct10/system/files/sample_daon_csv.py_.txt

 

  • 土木工学におけるAI応用チュートリアル(5) についてもっと読む

土木工学におけるAI応用チュートリアル(4)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 10:52

事例でAIのできることを知ろう

その1 画像物体検知とアノテーション(阿部雅人,杉崎光一)

〇物体検出とアノテーション

 画像データを利用したAIのキラーコンテンツと言えば自動運転かと思います.自動運転で利用されるAI画像タスクとして物体検出があり,YoloやSSD(Single Shot Multibox Detection)などの技術があり研究も盛んです.

 橋梁を撮影した画像データにも,橋以外が写り込んでいる場合や,橋が複数写り込んでいるものなどがあるかと思います.これらの画像では,画像の中のどこに橋があるのかを検知する物体検出手法を適用することが有効でしょう.橋がどこにあるかを検出することは,例えば災害時に落橋が起きていないか,桁の移動はどの程度か,といった画像監視を利用した異常検知手法のためのファーストステップともなりますし,また,点検支援などにおいて,支承部など特定の部材を認識して評価したい場合などでも,まずは点検画像のどこに橋があるかを検出することが重要と思われます.

 

〇橋梁の検出実装

 SSDを利用した橋の検出を実装してみましょう.物体検出では,バウンディングボックスを利用することで,画像に対して,位置や大きさを含めて物体を認識して検出することができます.ここでもVGG16で学習したモデルを,物体認識で利用した橋の画像に対し,桁橋と桁橋以外に分けたバウンディングボックスを利用してアノテーションした画像で転移学習を行いました.物体検出した結果を以下に示しました.

 このような物体検知手法などは,API的に利用するためのライブラリが整理されており,実装が容易となっていますので試してみることができますが,実際の問題に適用するためには,アノテーションツールを利用して教師データを作成するなどの作業が必要となります.

 

 

  • 土木工学におけるAI応用チュートリアル(4) についてもっと読む

土木工学におけるAI応用チュートリアル(3)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 10:36

橋梁形式分類AIを実装してみよう(阿部雅人,杉崎光一)

その2 犬猫分類問題を応用して橋梁形式を分類してみよう

 データ,手法と合わせてユースケースの設定が重要となりますが,犬猫分類の応用で,例えば,土木で考えた事例としては,桁橋とその他の橋梁形式(トラス、アーチ、吊橋)を分類するような問題を考えてみましょう.これは,腐食などの損傷を評価するようなAI技術において,そもそも対象物(鋼材,部材等)の位置を認識するなどの基礎的な技術と考えることができます.

 

〇データの準備とアノテーション

 犬猫分類では,犬猫画像を収集して,画像に対して犬なのか猫なのかを目視でタグ付けを行うアノテーションをしました.同様に橋の画像をネット上で収集する必要があります.橋の全景画像データはインターネットに多くあるため収集が可能です.アノテーションをどのようにするかを考える必要がありますが,より簡単な問題として,桁橋とそれ以外でフォルダ分けしてみましょう.ここでは,学習データ150枚 検証データ50枚 テストデータ50枚で整理することとします.

桁橋 その他形式(トラス,吊橋,アーチ)

 

〇モデルの構築

 深層学習モデルを構築します.層の比較的浅いニューラルネットワークと,層の深い転移学習を行ったモデルを比較することで深層学習の特徴を考察しましょう.転移学習とは様々な画像で学習したモデルを利用して,自分で集めた画像で再度学習をする方法です.ただし,モデルの答えが犬や猫だけでは困りますので,橋の分類に合った答えを返してくれるようにモデルを改良する必要があります.具体的には,プログラムの最終層を変更します.また,ファインチューニングという方法があり,こちらは集中した画像で最終層だけでなく,途中のモデルのパラメータも学習しなおす方法です.

 

〇モデルの結果を評価する

 適用結果を以下に示しました.層の比較的浅い深層学習では,正答率が低く,また、学習が進むことで正答率は上がっていきますが,検証データに対しての正答率は増えていきません.これは過学習という問題です.それに対して,既存の様々な画像データの特徴を学習したモデルによって転移学習を行うことで,正答率が高くなっています.学習に利用していないテストデータの分類もうまくいくので,過学習の問題も起こらないことがわかります.

 

・適用結果1 層が浅い場合

 学習モデルは以下の4層のCNN

 

・転移学習を利用した場合

ImageNetで学習済みのVGG16モデルを転移学習

〇モデルの評価

 以上でモデルが学習できましたがAIは画像のどこをみて分類しているのでしょうか.これを可視化する方法として,GradCamという方法があります.浅いモデルのヒートマップを表示してみると橋でない場所を見ているデータがよく出てきます.それに対して転移学習の結果では橋の特徴を利用して分類しているように見えますね.また正解できなかった画像のヒートマップを見てみることでどうして間違ったかがわかるかもしれません.それにより,AIモデルの適性や,どのような学習データを追加して改良する必要があるかなどわかるかもしれません.

 

・浅いニューラルネットワークの結果

・深いニューラルネットワークの結果(block5_conv3 層の可視化)

より総合的に判断している?

桁橋 その他形式(トラス,吊橋,アーチ)

 

桁以外に間違えそうになった画像の確認は?

 

 

※サンプルプログラム

〇概要

・橋梁形式を分類する画像認識プログラム

・pytorchで作成

・データ(桁形式と桁以外の形式の橋の画像がフォルダ分けして整理されている)

※橋の画像については,(一社)日本橋梁建設協会ホームページの画像データを許諾の上使用させていただいています.

https://committees.jsce.or.jp/struct10/system/files/bridgedata.zip

 

〇ファイル名

・sampleprog1_1

 モデルのパラメータを学習するプログラム

https://committees.jsce.or.jp/struct10/system/files/sampleprog1_1.py_.txt

・sampleprog1_2

 モデルの学習したパラメータを読み込んで画像をテストするプログラム.

 grad-camでAIの学習内容を確認するプログラム.

https://committees.jsce.or.jp/struct10/system/files/sampleprog1_2.py_.txt

  • 土木工学におけるAI応用チュートリアル(3) についてもっと読む

土木工学におけるAI応用チュートリアル(2)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 10:07

橋梁形式分類AIを実装してみよう (阿部雅人,杉崎光一)

その1 犬猫分類問題でAIを理解する 

 

a) AIによる画像認識で犬猫を分類する

 AIにおける深層学習を利用した画像認識として,以下に説明する犬と猫を分類する事例があり,これらを理解することで,AI手法の中で特に深層学習の理解を深めることができます.犬猫の分類は,インターネットなどにデータがあり,実装できるプログラムを含めて,既存の手法が豊富にネット上にあります.また,学習プログラムだけでなく、AIが何を着目しているか分類するプログラムなどもネット上のものを活用できます.例えば,Grad-camという手法を利用すれば,犬と猫を鼻の特徴に着目して分類していることがわかります.

猫 犬

 

b) AIを学習してモデルを評価するとは

〇AIの学習の仕方

 AIがデータから学習する方法は,一般的に以下の3種類があると言われています.犬猫分類の問題は一番実装が容易な教師あり学習を利用します.教師ありですので,画像には犬なのか猫なのかあらかじめ答えを用意する(アノテーション)必要があります.

 

A.教師あり学習

  犬猫の画像があり,犬と猫を分けるラベルが付いていて,それを分類する問題です.

⇒分類されたデータに境界線を引き,未知のデータを分類

 

B.教師なし学習

 犬猫の画像をもっているが,犬猫のラベルはついておらず,クラスタリングなどで分類する問題です.

⇒特徴量をデータから抽出して,クラスタリングにより分類(異常データを分類できるかなどでも活用)

 

C.半教師あり学習

 犬の画像しかなく,犬を表すモデルを学習して,猫画像が新規に来た時に犬と違うと分類する問題です.

⇒正常データの特徴量を抽出して,未知の異常を検出問題など

 

〇AIを評価しよう

 学習したAIは評価しなくてはいけません.その際に学習したデータ(trainデータ)で評価するのではなく,検証用(validationデータ)のデータを用意しましょう.検証用のデータをモデルに入力して正解である率が高ければ(正解率)よい学習が行えたモデルと言えます.これらの作業は,交差検証とよばれます.教師データでは正解率が高いが,検証用データで正解率が低くなる問題を過学習と呼びます.検証用データで正解率が高いモデルは汎化性能が高いモデルと呼ばれます.

 

〇AIと特徴量

 AIは画像の何を根拠に犬と猫を分類するのでしょうか.よく言われる問題として,AI,特に深層学習はブラックボックスであると言われます.画像はピクセルごとに輝度のデータが入ったものですので,輝度のデータの特徴を利用して分類しているに違いありません.どのような輝度の特徴を利用して分類しているかがわかる,つまり,犬の特徴や猫の特徴などをちゃんととらえていることがわかれば,AIを利用する我々も安心してAIの答えを信頼することができます.これらの手法は,説明可能AI(XAI:Explainable AI)と呼ばれて,様々な方法が研究開発されています.

 

〇学習環境の構築と実装環境

 AIはニューラルネットワークというアルゴリズムを多く利用しています.この計算は複数の入力をニューロン(ノード)が受け取り,それぞれに重みを付けて統合して,活性化関数を通してある値より大きなものを次のノードに送っていく,それを繰り返して最終的な出力を出す計算です.計算された出力と正解を比較してその誤差を小さくする(バックプロパゲーション)ことで重みを最適にする計算を繰り返します.

 近年流行している深層学習はこのノードの数や層が深くなったものですので,一つ一つは単純な計算ですが,多数の計算を行います.そのためCPUを利用した計算よりもGPUを利用した計算の方が早く実行できることが知られています.GPUは一般的なPCには実装されていませんので,深層学習を行うためにスタンドアロンPCでGPUパソコンを用意するか,もしくは,クラウド環境でGPUを利用することが行われています.

 スタンドアロンで環境を用意する場合は,Pythonなどのコードを実行するためのソフト的な環境(アナコンダなどが有名)を構築する必要があることにも注意が必要です.クラウドを利用する場合はソフト的な環境も用意されていることが一般的ですので,ちょっと試してみたいなどではよいかもしれません.

 pythonなどでAIプログラムを構築する際には,機械学習を効率よく実装できるフレームワークが開発されています.深層学習などを利用する代表的なものとしては,TensorFlowやPyTorchなどがあります.さらに,Tensorflowをベースにしてさらに利用しやすくしたKerasなどのラッパーと呼ばれるものが用意されています.プログラムの柔軟性と利用しやすさはトレードオフですので,問題の難易度に応じて選択してください.

 

〇既存のデータとモデルを活用しよう

 AIは一から自分ですべて作るのは大変です.特に深層学習のデータやモデルはインターネットにある既存のものを活用することが近道です.よく利用されているものとして, GitHubという開発プラットフォームがあり,オープンソースとしてデータがリポジトリにアップロードされています.例えば下記のようなものが参考になるでしょう.利用されているプログラムやデータがダウンロード(クローンやフォーク)でき,それらの利用方法も記載されています.また,SNS機能があり,質問や回答をやりとりすることができ,まさに開発技術者のプラットフォームと言えるでしょう.

 

https://github.com/crotsu/Bousai_AI

 

 

https://github.com/sekilab/RoadDamageDetector

 

c) 犬猫分類問題を実装する

 

〇画像データ収集

 インターネットなどを利用してデータを収集します. ネットから画像収集するクローリング技術と呼ばれる方法を利用することもできます.ただし画像を利用する際には著作権などに気を付けてください.点検データなどでは,橋梁名を抜くなどのデータの匿名化などによって対応することも考えられます.

 

〇画像の前処理

 教師データは多ければ多いほど良いですが,画像を収集するのには労力が必要です.このため教師データの画像枚数を増やす方法として,画像を引き延ばしたり,回転させたりするデータ拡張技術があります.加工した画像に対しても答えは同じですが,加工されることで人間の目でも画像が変化したことがわかりますので,そのような画像を正確に分類できればAIはより賢くなっていると言えるでしょう.

※画像データは2次元の配列です.モデルに入力する際には配列の構造が重要です.pythonで利用されているnumpyのarrayとpytorchで利用されているtensorなどではこの配列構造が相違します.お互いに変換するプログラムなどが利用できます.AIモデルを作成するパッケージに応じて入力データを変換してください.

 

〇アノテーション

 画像に対して正解を付ける作業です.例えば,犬の画像はdogフォルダに,猫の画像はcatフォルダに分類したり,犬の画像のファイル名にはdogを,猫の画像にはcatなどを付与しておけば,プログラムの中で正解となるベクトル(label)を作ることができます.

 

〇学習データの作成(既存プログラムの修正)

 犬猫分類を実装するプログラムは,kaggleと呼ばれるコンテストなどでも世界的に行われており,そのため様々な開発者が挑戦し,インターネットにファイルがアップロードされています.また,深層学習の教科書にも取り上げられているためgithabと呼ばれるソフトウェア開発のプラットフォームに実装したプログラムや学習用の画像データがアップロードされています.それらをダウンロードして実装する際にはいくつか修正が必要となります.特に利用するデータの保存先や保存方法によってプログラムでデータを読み込む際のパスなどの設定があります.プログラムでデータを学習する際には,データを教師データと検証用データに分ける必要があります.

 

〇学習方法

 学習は,入力データをモデルに入力して出力を算出し,出力と正解との差が小さくなるようにパラメータを変化させる最適化計算を行います.これには勾配法と言われる方法が通常利用されます.勾配法を適用する際には,パラメータを更新するたびにすべてデータで誤差を計算するのは効率が悪いために,バッチサイズと呼ばれる誤算を計算する際の画像の枚数を決め,ランダムに選んで画像の組を作成して計算を行います.そのために,データローダーというものを利用します.バッチサイズは2のn乗の値が使われることが多いですが,画像の枚数に応じて選択してください.データセットの件数が数百件程度であれば32,64で試してみればよいでしょう.学習回数はイテレーションやエポックと呼ばれますが,学習する画像枚数とバッチサイズ数で回数が決まります.例えば1000枚の画像があり,バッチサイズが200であれば,すべての学習データを利用するためには5回学習する必要があるのでイテレーション数は5になります.この学習を何回繰り返すかがエポック数です.

 

 

〇学習

 モデルを一から作るのではなく,既存の学習済みモデルを利用することでよいAIモデルを作ることができます.その場合は,転移学習やファインチューニングと呼ばれる手法を利用します.エポック数が小さすぎて学習が完了しない場合や,ハイパーパラメーターと呼ばれる学習率などにより答えが変わることがありますので注意が必要です.

 

 

〇検証

 学習したモデルを評価します.正解率,適合率など複数の指標がありますので注意しましょう.学習結果の可視化はグラフで行う場合などがありますが,どの評価関数を選ぶかなどを決めます.パッケージには可視化するかしないかを変数で決めれば勝手に可視化してくれるものが多いです.

 

〇モデルを利用する

 学習したモデルのパラメータを保存しておくことが可能です.保存したパラメータを再度読み込むこともできます.検証用データは学習ができているかを確認するためのデータですが,それとは別にテスト用のデータを利用する場合もあります.テストデータを実際にモデルに入力して分類結果を確認するなど,モデルを利用してみることでよりプログラムの理解を高めることができます.

 

※参考 医療における下記のサイト

https://japan-medical-ai.github.io/medical-ai-course-materials/

Google Colaboratoryを利用して,実際にプログラムの実装までできるようになっています.

  • 土木工学におけるAI応用チュートリアル(2) についてもっと読む

土木工学におけるAI応用チュートリアル(1)

投稿者:杉崎 光一 投稿日時:金, 2020-12-11 09:20

AIと機械学習について(阿部雅人,杉崎光一)

a) AIでできることを調べてみよう

 人間の判断を代替したり支援したりするAIシステムや,肉体労働の補助をするようなロボットにもAI技術が活用されています.AI技術は機械学習を利用したタスクを組み合わせて利用することが多いと考えられています.また近年のAIブームにおいてはデータを活用する観点,いわゆるデータドリブンなAI手法の開発が期待されています.ここでは,機械学習におけるタスクとデータの種類の観点からAIでできることを整理してみましょう.

〇AIのタスク

 AIはデータを学習することで下記のようなタスクを行うことができます.人間の仕事と比較してみましょう.

・クラス分類(classification)

 あらかじめ用意されているカテゴリーに対象となるデータを分類します.

・クラスタリング(clustering)

 元々分類されていないデータを,特徴を利用して分類するタスクです.近いデータを同じグループとして分類します.教師なし学習などでも利用できます.

・次元圧縮(dimensionality reduction)

 多くの変数をもつ多次元のデータなどに対して,変数を削減するタスクです.2次元や3次元などの変数で説明できればグラフによる可視化などに役立ちます.統計でいうところの因子分解や主成分分析などの手法です.

・回帰(Regression)

 モデルを利用した予測などをするために,モデルを決めるためのタスクが回帰です.

 

 人間の行っているタスクとの比較をしてみましょう.図には人間とAIのタスク例を図化してみました.マネジメントの手法であるPDCAなどでは,人間はPLAN(計画)をします.PLANのためにはAIでいうところの予測が大事です.予測結果を利用してDo(実行)するためには,予測結果のCheck(評価)が必要です.次元圧縮などの手法は人間が結果を評価するための情報と関連しているでしょう.また,どの選択肢が良いかを分類するなども評価のためのタスクと言えるでしょう.AIの予測,評価,分類などを自動で行うことで実行を代替することもできるかもしれません.ここでは,クラスタリングなど,人間が理解できないような情報も分類することができるかもしれません.異常時などの危機対応も人間にとっての重要なタスクですが,疲れをしらないAIによる異常検知は,この人間のタスクを助けるためのツールとなるでしょう.自動運転などの技術はAIによる判断でハンドルを操作するということですが,車の運転のように目的がはっきりとしている判断にはAIの活用がすぐにでも期待されています.また,株の売買のような利益を上げるというはっきりとした目的があれば,AIの活用は正当化されるでしょう.将来的には,マネジメント判断のように,組織を説明したり説得したりする際に,AIによる判断が優先される時代がくるかもしれません.ただし,企業,まして人間の生きる目的のように,目的関数が決まっていない問題にAIの判断をどのように利用しいていくのか,AI活用にビジョンが必要と言われる理由かと思われます.

 

 

b) データとAI

 深層学習など近年のAIではデータが肝だと言われています.ここではデータの種類でユースケースを分類してみましょう.

〇時系列

 時系列データとは,時間に応じて変化するデータです.時間に応じて変化するので順番が重要となります.人間の言葉などは順序が重要なデータですので,このような順序を評価するための深層学習モデルとしてRNNやLSTMといったモデルが開発されています.また,センサなどの観測値も順序が重要なデータですので同様のモデルを利用することができます.センサなどの観測データには誤差が含まれることが知られていますが,フィルタリングや平滑化,さらに予測などを行うAIが開発されており,異常検知などのタスクで利用されています.

〇画像

 深層学習の開発により機械が目を持ったと言われています.カメラから得られる画像をAIが解析することで機械が目を持つわけですが,画像をデータしたタスクとしては,以下のものがあります.

 ・画像認識:画像に何が写っているかを認識する →犬なのか猫なのかなど

 ・物体検知(画像のどこに何が写っているかを検知する) →医療などの画像診断(異常正常まで評価)

 ・セグメンテーション(画像に写っているものをピクセル単位で分類する) 

 画像データはピクセルごとに輝度値などの値が入った三次元配列データとして扱われますので,これらを効率よく解析するための深層学習モデルとしてCNNなどが開発されています.インフラメンテナンスにおいても,検査画像からコンクリートのひび割れを自動認識するなどの技術で,物体検知やセグメンテーションなどが検討されています.

〇自然言語

 時系列データでも記載しましたが,人間の利用している言語データを解析するAIがあります.チャットボットと言われるAIは,テキストや音声といった言語データを分析して,Q&Aを作成したりすることができます.自然言語は記号の集まりですが,英語や日本語など言語の種類に応じてルールが相違します.単語なども相違しますが,これらはそれぞれの辞書などを利用した形態素解析と言われる分析により機械が理解しやすい頻度データなどが作成されます.それらのデータを利用して,ある単語の後にはある単語が来る確率が高いなどのアルゴリズを利用してAIシステムが実装されます.自然言語処理を利用したテキストの認識の精度は,特定の対象に対する固有表現を学習できているかが影響します.そのため,固有辞書と言われる,いわゆる土木用語などの辞書の作成が重要となります.このような辞書をあらかじめ広く共有することで,手元の少ないデータからでも,モデルの学習や適用がしやすくなると考えられます.

〇マルチモーダル

 上記で整理した,時系列,画像,自然言語などを複数のデータを利用するAIがマルチモーダルなAIと言われています.Googleでおなじみのナレッジグラフなどはインターネットに存在するテキストや画像データを統合的に可視化することで,知りたいことについて人間の理解を深める方法です.

※構造化データと非構造化データ

 データには構造化データと非構造化データという考え方があります.分析によく利用されるExcelなどで扱われる表形式でデータを扱う際には,列ごとに項目を分けて,行方向に値を入れていくことが多いと思いますが,データの区切りにカンマを使ったものをCSVデータと呼びます.また,データを複数の表として管理し,表と表との関係性を定義したものをRDB(リレーショナルデータベース)と呼びます.このように決まった枠の中に文字や数値が格納されているものが構造化データです.

 非構造化データは,表形式のような構造を持たないものですが,JSON,XML,HTMLのようにキーとバリューの組み合わせといった規則性を持つものがあります.さらに,ベタ打ちのテキストデータや,振動,音声のような数字配列のみのデータも非構造化データです.非構造化データは,サンプリングレートや単位などのメタデータを与えることで,データの意味を理解したり,分析をすることができます.

 構造化データの分析では,エクセルなどを利用すれば集計や回帰などのタスクを行うことが容易にできます.非構造化データでも規則があるものであれば,データの入出力を方法を含めたアプリケーションソフト(API)などを利用して,検索や集計,データ連携や圧縮などのタスクを行うことができますので,インターネットなどWEB上での様々な活用がなされています.

 規則の無い非構造化データをさらに利活用していく上でも人工知能は期待されています.例えば画像データは,解像度(ピクセル数)などが様々なモノがありますが,画像サイズを合わせるなどの前処理を適切に行うことで,どのような画像に対しても自動的にタスクが実行できるようにする技術をAI化することが考えられます.データの構造を自動で認識して利活用ができれば,既存のデータベースや過去にEXCELで整理したデータなどを再度人間が前処理する労力を大幅に減らすことで,AIによる利活用の実現性が高まると考えられます.

 

c) AIと土木

 人工知能の活用分野は,移動,製造,個人向けサービス(医療、金融を含む),対話・交流(コミュニケーション)などが挙げられ,土木はすべて関係があると言えるでしょう.AIを活用する際の論点として表1のようなものが挙げられており,これらを土木で考えてみることも大切です.その際には,土木の特徴として,公共財,他産業への経済波及効果(スピルオーバー),統計との相性,業務が空間的に分散かつ時間的に長期(メンテナンス)などを考慮してユースケースを検討することが重要です.AIを活用することで,人間にできない作業を代替や支援して,危険な作業,長期労働や夜間作業を減らすなど働き方改革が期待されます.また,デジタルトランスフォーメーション(DX)が進行し,デジタルで情報を共有することで,仮想空間で解析した情報を実空間で活用するデジタルツインといった手法が進みでしょう.それにより,様々なプロセスの効率があがることによる生産性向上だけでなく,不要な業務が無くなるなどの,業務革新が進むことが期待されています.

 

参考「人工知能と人間社会に関する懇談会」報告書(案)

https://www8.cao.go.jp/cstp/tyousakai/ai/6kai/siryo1-2.pdf

AI活用の論点
土木との関連
・倫理的論点
技術者倫理,設計と施工の在り方
・法的論点
責任(事業者と請負・委託者の関係),基準
・経済的論点
→労働内容の変化,新しい雇用は?データサイエンティスト?
→業務再構成(機械による代替),創造的な業務?
→請負契約,包括契約,報酬の変化,積算
→系列化,エコシステム,中小企業
・社会的論点
労働力不足,高齢化,ミスマッチ
賃金,待遇,新3K
コンパクトシティ,地方創生,環境問題
インクルージョン,インバウンド
持続性(選択と集中)
防災,レジリエンス
・教育的論点
技術継承
大学教育(ミスマッチ) 統計教育,インターン
・研究開発的論点
オープンイノベーション(透明性)
異業種連携
デュアルユース
社会実装
 
 
  • 土木工学におけるAI応用チュートリアル(1) についてもっと読む

AI・データサイエンスの教材・チュートリアル

投稿者:阿部 雅人 投稿日時:金, 2020-12-11 09:15

土木工学に関連したAI・データサイエンスの教材やチュートリアルを紹介します。

〇AI入門講座付属プログラムコード 土木学会誌2021年1月号 “特集 さあ,AIを始めよう~土木工学へのAI導入のススメ~” で掲載された、本委員会協力の「AI入門講座」の概要と付属プログラムコードです。

〇コンクリートひび割れ検出 ひび割れ検出のチュートリアルです。

〇AI学習教材 舞鶴工業高等専門学校 社会基盤メンテナンス教育センター(iMec) 

〇土木工学におけるAI応用チュートリアル

 土木工学におけるAI応用チュートリアル(1) AIと機械学習について

 土木工学におけるAI応用チュートリアル(2) 橋梁形式分類AIを実装してみよう その1 犬猫分類問題でAIを理解する

 土木工学におけるAI応用チュートリアル(3) 橋梁形式分類AIを実装してみよう その2 犬猫分類問題を応用して橋梁形式を分類してみよう

 土木工学におけるAI応用チュートリアル(4) 事例でAIのできることを知ろう その1 画像物体検知とアノテーション

 土木工学におけるAI応用チュートリアル(5) 事例でAIのできることを知ろう その2 時系列データに対する機械学習例

 土木工学におけるAI応用チュートリアル(6) 事例でAIのできることを知ろう その3 自然言語処理学習例

 土木工学におけるAI応用チュートリアル(7) AIを利用したメンテナンスユースケースを考えよう

 土木工学におけるAI応用チュートリアル(8) 対話システムと文章生成

〇防災技術者・研究者のためのAI入門(Deep Learning編) 木更津工業高等専門学校 情報工学科 大枝真一教授

〇P-Chun Labo

 

関連した資料・報告書等です。

〇土木学会技術推進機構SIPインフラ連携委員会報告 インフラ維持管理へのAI技術適用のための調査研究報告書 2019年

〇「インフラメンテナンスにおけるAI活用」シンポジウム 2019年

〇インフラメンテナンスにおけるロボット活用シンポジウム―完全無人化に向けて― 2020年

〇土木学会令和2年度全国大会 研究討論会「防災・土木分野におけるAI・データサイエンス」 2020年

〇土木学会令和2年度重点研究課題報告書 人工知能技術活用のための人材・データプラットフォーム開発に関する研究 2021年

〇土木学会 構造工学委員会 AI・データサイエンス論文集編集小委員会

〇AI・データサイエンス論文集
 J-STAGE Data

〇Intelligence, Informatics and Infrastructure
 J-STAGE Data

〇土木学会 構造工学委員会 AI・データサイエンス実践研究小委員会

〇ITmedia記事

  インフラメンテナンス×AI(1) インフラ維持管理にAIを活用する方法論と最新動向、立命館大・野村教授の講演から

  インフラメンテナンス×AI(2) AIの本質は「最適化手法」にアリ!インフラメンテ最大の壁“暗黙知”を言語化するには?

  インフラメンテナンス×AI(3) “品川区”が試行するICT/AIの区道維持管理、従来手法より2.5倍も異常検知

  “土木×AI”で起きる建設現場のパラダイムシフト

新着・お知らせ
  • AI・データサイエンスの教材・チュートリアル についてもっと読む

AI・データサイエンス賞

投稿者:阿部 雅人 投稿日時:金, 2020-12-04 07:29

最新の情報は

 AI・データサイエンス賞 | 土木学会 構造工学委員会 AI・データサイエンス論文集編集小委員会

をご覧ください。

 
 
新着・お知らせ
  • AI・データサイエンス賞 についてもっと読む

AI・データサイエンスシンポジウム

投稿者:阿部 雅人 投稿日時:火, 2020-11-03 08:29

最新の情報は

 AI・データサイエンスシンポジウム | 土木学会 構造工学委員会 AI・データサイエンス論文集編集小委員会

をご覧ください。

 

 

  • AI・データサイエンスシンポジウム についてもっと読む

ページ

  • « 先頭
  • ‹ 前
  • 1
  • 2
  • 3
  • 次 ›
  • 最終 »
土木学会 構造工学委員会 構造工学でのAI活用に関する研究小委員会 RSS を購読

(c)Japan Society of Civil Engineers