2018年10月30日火曜日

AI とリスク管理

「AIビジネスの法律実務」人工知能法務研究会

AIに起因する問題の想定と法的責任、その対応について、ざっくりと書かれていました。リスクマネジメントです。新技術によるリスクの想定、リスク対応です。

扱うデータの著作権等を考えたことはありますが、それを利用して出てきた結果や生み出されたモデルの著作権、あるいはそれらが被害を与えた場合の法的責任については考えていませんでした。手落ちです。

自動車メーカーの自動運転に対するリスク管理は大変ですね。当然、実施されているでしょうし、対策も取られたうえで参戦されているのでしょう。リスクは多くても、管理がうまくいくと無事に利益を生み出せる、魅力的な分野なのだと思われます。生き残るためには必要に迫られている面もあるのでしょう。

土木分野でも「AI」を利用する話題を時々聞きます。が、自動車業界ほど真剣に取り組まれていません。どちらかというと、バズワードとなっている感があります。土木のことはわかっていてもデータサイエンスはわからない方々がほとんどで、そのプロとも交流のない、これからの分野なのでしょう。少子高齢化、働き手減少への措置としてロボット活用は叫ばれていますが、自動車業界ほど危機に感じていない executives が多いのかと思われます。

おそらく、土木分野へのAIの波には、技術より営業や財務といった非技術系の部署の方々が先に取り込まれていくでしょう。その場合、図書に書かれていたように、経営の観点からは社内規定や契約のありかたが問題になるでしょうね。
リスクマネジメントやAIにリスクを感じていない executives では、リスクが発現してから「どうしよう」になるのでしょうか?近い将来のことです。

2018年10月28日日曜日

AWS その2

Docker を入れてから気付きました。

「H2O の公式イメージがない」

無料枠のインスタンスでは GPU がついていませんので、Deep Water は無意味。開発も中止されているようですので、今後の実務での運用も期待できません。
公式には、AWS 用に Cloud Formation を利用したテンプレートが用意してありました。が、これも無料枠内のインスタンスは含まれていないようです。

Docker より Cloud Formation を利用した方が簡単で早い、というのはわかりましたが、AWS 初心者ですので、まずはその構成を理解することから始めました。

実際に手を動かしてみると機能や設定すべき項目が予想よりも多くありました。少し甘かったようです。
今回は、以下の設定を行いました。今後、各種インスタンスを立ち上げるにしても、最低限必要な設定でしょう。

・セキュリティ
 MFA, security group
・アカウント
 IAM (group, policy)
・ネットワーク
 VPC (IP, subnet, route table, internet gateway), elastic IP
・仮想マシン
 EC2
・ファイル転送
 WinSCPを利用

オンプレミスであれば、情報インフラ担当部署の範疇。ネットワークを組むなら家でも必要な設定ですので案外ハードルは低いのですが、AWS の仕様に沿って進めるのは初めてで(当たり前)、また関連付けも必要になります。今回は以下の図書を参考に設定しました。
「Amazon Web Services パターン別構築・運用ガイド 改訂第2版」NRIネットコム株式会社

最終的には H2O を稼働させ、外部から計算をかけることが可能となりました。
流れはわかったのですが、いくつか注意点があります。書き残しておきましょう。

まだ、社内ではAWS を導入していません。インフラ担当部署に整備を依頼しても、「やったことないからわからない」とか言われて投げ返されるでしょうね。積極的に関与してくれるプロがそばに欲しい。技術は担当技術だけに注力したいのですが。
ま、ハードの選定や準備、保守管理の手間が省ける(その時間を購入できる)のがメリットと、プラス方向に考えましょう。


2018年10月26日金曜日

石割り

先日、石割りの実演を見せていただきました。

2m角の石が、5cmほどの楔で綺麗に割れました。面白いですね。
割れた面は少ししっとり。観察しても割れた方向の「目」はわかりませんでした。

石工さん曰く、この山は水平方向が一番割れやすいとのこと。じっと見ると、確かに鉱物にクラックが見えます。目がそろっているようです。これはσ3方向、応力解放でしょう。
実際に割るのは、この水平方向ではなく、次に割れやすい南北方向。水平方向にマーキングして、上下方向を合わせて設置し小割するそうです。周辺の山は大体同じ方向で割れやすいとのことですので、応力履歴と関係しているのかなあ、と考えながら見ていました。

そういえば、落石源の撤去現場では石工さんを呼ぶことがあるそうです。先輩曰く、たいていの石は割ることが可能で、小割してモノレールで運び出されるそうです。製品にしない(綺麗に割る必要がない)のであれば、向きは関係ないのかもしれません。

小さな力で綺麗に割る方法を見出した昔の人には感心します。素晴らしい。

2018年10月20日土曜日

AWS

AWS を利用開始。

機械学習では使う必要もないかな?と思い始めていたのですが、他にも必要となる機会は容易に予想されますし、準備を続けてきたこともあって使用することに。

最初は無料枠でできることを体験。
チュートリアル通りに EC2 インスタンスを立ち上げ。色々用意されていますね。Deep Lerning 用に CUDA から各種ライブラリまでインストール済みのタイプも用意されていました。

アクセスは Win10 から。Windows Subsystem for Linux + Ubuntu を利用。
ssh -i ~/.ssh/Key.pem ec2-user@IP でOK。簡単ですね。

ひとまず、立ち上げて、アクセスして、削除するまでの流れはわかりました。
次は Docker を使って動かしてみましょう。


巡検

先日、巡検に参加。

仕事で純粋に地質のみを見ることは皆無。巡検もここ数年はほとんど参加できていませんでした。今年は機会に恵まれ3回目です。

責任感や義務感から解放され、ただ案内されて話を聞いて楽しむ。
秋晴れの中、贅沢な時間でした。

2018年10月19日金曜日

洪積層と更新統

洪積層の液状化について、再度検討。
https://phreeqc.blogspot.com/2018/06/blog-post_88.html

示方書が 洪積層=「概ね」更新統 としているのは、臨海部の2~1万年前の軟弱層を、慣習に外れて洪積層と呼ぶのは不都合という点もあったのでしょう。沖積層・洪積層から完新統・更新統に完全移行できなかった理由の一つと推察されます

この沖積層、洪積層、完新統、更新統の微妙な扱い方は、第四紀学会HPにも記載されています。http://quaternary.jp/QA/answer/ans021.html
なお,沖積低地の構成層である沖積層の基底面は最終氷期の最大海面低下期に形成された不整合面に相当すると考えられ, この最大海面低下期は更新世末期の約2万年頃にあたっていて,日本第四紀学会のホームページ (第四紀の地位と新定義 -完新世の開始期の定義- ) で解説されている約1万年前の完新世と更新世との境界とは若干のずれがあります.このことから,井関(1966, 1983)は, 沖積層の堆積した時期を沖積世とよぶことには意味があると述べており, 現在でもとくに平野部や臨海部の第四紀末期の最大海面低下期以降の堆積物を総称する場合には沖積層という用語が用いられています. なお,内陸部の地層については浅層の河川堆積物については沖積層とよんでも良いと思いますが, それらを構成する砂礫層の下部は最終氷期までさかのぼる場合も多いと考えられるので, 完新統および更新統(最上部)というような表現の方が良いと思われます.
液状化を例にとると、本来は堆積履歴を考慮した補正が必要なのでしょう。基準に載せ得るとすれば、それは地質屋の技量に依存するものでなく、普遍的な指標値を、容易に、安価に得られる試験とバックデータに依ることが必要です。
今の簡易判定を続ける限りは、良くも悪くも地質屋さんの匙加減ひとつということになります。改善の余地が残っているということです。


2018年10月18日木曜日

GEORAMA 2019

GEORAMA を 2019 に UP。

扱うデータによるのでしょうが、個人的な感想は「2018より不安定になった」です。
今回の主な変更点は以下の通り。
  • ようやく計算エンジンが 64bit 化(遅すぎ)。
  • それに伴い大きなデータも扱えるようになったとのことですが、点群など扱うデータの肥大化に追いついていません。残念ながらエラーやクラッシュが少なくなった感じはしませんでした。
  • ボーリングモデルに属性がつくようになった。
  • しかし、CIM ガイドラインにおける XML への属性書き出しや、平面・縦横断モデルへの属性付与には未対応。
まだまだこれからのようです。
他に選択肢ないでしょうか?


2018年10月17日水曜日

ALOS-2 データ

パスコさんが ALOS-2データのセット販売を開始されたようです。
https://www.pasco.co.jp/press/2018/download/PPR20181015J.pdf

利用者の増加を伺わせるような発表です。今年は災害が多かったので、利用された方も多かったのでしょうか?
個人的には災害後の広域の地すべりモニタリングに適用したいと考えていました。が、耐え得るソフトがないため、指をくわえて見ていました(700万、出してくれないですかね)。「SARって何?」っていう方々が経営判断を行いますので、なかなか前には進みません。

一方、16万円/シーンかつ5シーン以上では、パックなのに割高な価格設定のような気がしました。売れるのでしょうか?
経済産業省の「平成30年度政府衛星データのオープン&フリー化およびデータ利用環境整備事業」による「Tellus」でも SAR データを扱うようです。が、パスコさんがこのパック販売を始められたということは、古いアーカイブだけ無料になるのかもしれませんね。
https://www.tellusxdp.com/

いずれにしても、利用者が増えて先に進んでいかれるのを、指をくわえてみているしかない状況です。残念ですね。

2018年10月16日火曜日

Practical Machine Learning with H2O

ここ1週間ほど、以下の図書を読んでいました。

Darren Cook「Practical Machine Learning with H2O」

以前、本屋で買おうか迷い、結局買わずにいました。
が、結局購入。しかも、あたりでした。
今まで、概要、理論、実装を主とした図書を読んでいましたが、これは tuning が主となっています。tuning に理論はなく、主に経験に依ると思います。複数の例を通してその経験を体験できるようになっています。このような図書は希少です。

tuning 以外に驚いたのが、ensemble。
R のみのようですが、独自に手法を組み合わせることも可能なようです。H2O、スゴイ。

複数の言語から選択して実装し、tuning に関するノウハウを持って良質なモデルを見出し、必要な情報を抽出、目的を達成する。こレが可能な方をデータサイエンティスト、データアナリストと呼べば良いのでしょうか?
こういった方、そばに欲しいですね。

****************************************
201811/25追記
データを整理していたら、tuning 内容をまとめていた表が出てきました。片づける前に UP しておきます。


2018年10月7日日曜日

Flask

杜世橋「現場で使える!PyTorch開発入門」を読みました。

興味を惹かれたのが「アプリケーションへの組み込み」。
Python でも、web 経由で学習結果を利用できるシステムを組むことができるとは。知りませんでした。これ、重要な点です。どの言語を利用してシステムを組んでいくかは、出発点ですからね。

この図書ではアプリケーションフレームワークとして Flask を利用されていました。最初は何の役割を担っているのかわかりませんでしたが、読み進めるにつれてなんとなく掴みました。Python だけでここまでできるとは。ついていけてないですね。

一つ理解すると、またわからないことが出てきます。
なかなかゴールにたどり着けませんが、道は見えてきました。
続けましょう。

2018年10月6日土曜日

Jupyter + PyTorch

Docker で Jupyter + PyTorch を動かそうと試みました。

まずは、Nvidia GPU Cloud の PyTorch を利用。
ローカル dir をコンテナ dir に割り当てる。Ver.も指定。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.09-py3

PyTorch 18.09 は Nvidia driver Ver.390 に未対応。410beta 以上が必要と言われました。410 を入れるため、リポジトリ追加。

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

$ sudo ubuntu-drivers autoinstall
$ nvidia-smi
入りません。

$ sudo apt install nvidia-410
だめ。
$ sudo apt list --upgradable
410 提供されていません。

無駄足でした。ppaリポジトリ削除
$ sudo add-apt-repository --remove ppa:graphics-drivers/ppa
$ sudo apt update
ついでに
$ sudo apt upgrade
$ sudo apt autoremove

今度は Nvidia に直接取りに行きました。
が、現段階で 410 は GeForce だと RTX 20系 しか対応していないとのこと。最初に調べたら良かった。
https://www.nvidia.com/drivers/results/138299#driverInfo-138299=1

NGC の Ver とマシーンイメージを確認。
https://docs.nvidia.com/ngc/ngc-alibaba-vmi-release-notes/index.html#volta-alibaba-18-98-1
で、18.05 を選択。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.05-py3
うん、Jupiter 入ってません。

では、Docker Hub から。
jupyter/tensorflow-notebook を入れると GPU 使えません。
pytorch/pytorch を入れると Jupyter 入ってません。
tensorflow/tensorflow を入れると、GPU も Jupiter も使えますが、Python2。

結局、一番簡単なのは、Google Colaboratory でした。時間制限はありますが、環境を汚さない条件では BEST でしょう。ひとまずこれで行きましょう。


**********************************
20181007追記
杜世橋「現場で使える!PyTorch開発入門」では、イメージが紹介されていました。基本、個人でUPされているものは、その確認が面倒です。が、図書で紹介されているものであれば問題ないでしょう。


2018年10月1日月曜日

EXCEL で深層学習

涌井良幸ほか「EXCELでわかるディープラーニング超入門」技術評論社

1日で読めました。「超入門」とあるように、今まで読んだ図書の中では一番理解し易い。
画像に特化しており、畳み込み層やプーリング層のしくみを非常にわかりやすく示されていました。EXCEL を使っているので、直感的に理解し易いのでしょう。

面白いと感じたのは、解釈性の話。
重みに負の値を使用したり、活性化関数に ReLU を利用したりすると画像としての解釈性が悪くなる点は知りませんでした。

最近は実装不要、ハイパーパラメーターも自動調整になっています。今後もその方向で進むでしょう。が、このような基本的な仕組みは理解しておくべきですね。