Late Riser -2ページ目

Late Riser

ダメ主婦ミルミルのプログラムと道の駅ドライブとリラックマの日々。
プログラム系は情報提供ではなく個人的メモなので、信憑性薄め。

はい。それでは。
諸々調べた結果、

とりあえず、なにはともあれPython。(未経験)

・・・PHPとPerlじゃアカンですかそうですか。は?VBA?言語じゃねぇよ。

というのも、機械学習系のライブラリが軒並みPythonで組まれてるんですね。
Rという選択肢もあるけど、まだちょっとトレンドとしては弱い。
移り変わりの激しい業界なので、とりあえず長いものに巻かれるのが吉。
うっかりAIやめてもPythonなら活用の道がある。流行ってるし。

次。何で実行するか。蛇繋がりという気持ちの悪さ一択でAnacondaにします。
なんで爬虫類やねん。
(※Pythonは蛇じゃなくてモンティーパイソンなのは知っているのでよろしく。結果的に蛇)

Anaconda は Python ディストリビューションのひとつで、
Python 本体と各種ライブラリに加えて、パッケージマネージャーや各種ユーティリティがひとまとめになっています。
Windowsでも簡単にいれられるよ。mac、Linux版もあるよ。
Home - Anaconda https://www.anaconda.com/

で、機械学習するにあたり、どうせGoogle Cloud Platformを勉強してみたんだから
そらもう機械学習のライブラリはTensorFlow一択だろと。
ただ、TensorFlow難しいらしいのよね。
Googleのサービスでゴリゴリ利用されてるので実績も将来性もあるのはわかってるんだけど!
ということで、TensorFlowを簡単に使えるというKeras(ケラス)も一緒に使ってみます。

Keras:ケラス:TensorFlow難しいので、これをつかうために高水準なニューラルネットワークライブラリ
Tensorflow、CNTK、THEANOの上で動く(※CNTK、THEANOが何かについてはスルー)

ここまで決めたところでたまたま条件に合致する教材が見つかったので採用(Udemy)

あと、使ってる教材↑の都合で下記の基本的なライブラリも利用します。
Numpy:ナムパイ:数値計算を効率的に行うための拡張モジュール

     ベクトル行列を表現、大規模な高水準の数学関数ライブラリ
Scioy:サイパイ:ナムパイをベースにしている。

     数学化学工学ののための数値解析 統計最適化積分線形代数

で、ライブラリですが、TensorFlowの他にも色々あります。
採用にあたっては、分散学習への対応、デバイス(特にGPU)の確認が超重要らしいです。

というのも。
「機械学習=大量のデータで勉強させる」が基本なので、
データの大量処理が必要になります。
分散学習は、クライアント→マスタ→複数ワーカーに分岐させて平行するのが早いし効率的です。
また、対応デバイスはGPU(画像処理用につくられているメッチャすごいCPUみたいな演算処理装置)だとなおいいです。
最近だと、クラウドでもGPUだのGPGPU(GPUの更に強い奴)だのがつかえる(が、金がかかる)ので
どうせならその辺もカバーしてるのを採用しておいたほうがいいのではないかと。

ちなみにTensorFlowは上記に加え、Mobileでも動きます、とのこと。
つまりEdgeTPUのことかな。

EdgeTPUの開発ツールキットほしい…
が、これ始めようと思うと今度はRasberryPieも手を出さなあかん…?死ぬかな。


あと、Colaboratoryも表示ツールとして追々使えればいいなと思っています
https://qiita.com/tomo_makes/items/b3c60b10f7b25a0a5935
Colaboratoryは、無料で使うことができ、ほとんどの主要ブラウザで動作する、設定不要のJupyterノートブック環境です。
Googleが、機械学習の教育、研究用に使われることを目的に、無償提供しています。
クラウドアプリケーションのPython/ 機械学習版で、Pythonのソースコードを対話型で実行できるだけでなく作ったものを共有したり、共同編集したりすることができます。

GCPが行き詰ったので、機械学習方向に突っ込むよ!!
(いや、それよりAWSの資格取れや・・・という会社の声が聞こえる。知らん知らん)
(会社で使ってるのに回ってこない業務のために時間割くぐらいなら、自分の趣味に突き進むわ)

GCPでデータストリーム基盤とかBigQueryなんかデータ解析基盤を一通り勉強してみた結果、
「ログデータを解析加工してデータ分析用に処理する」
「データ処理にあたってどのデータを保存し、どのデータを加工しておくか」
「のちの解析のために、どのデータをどの程度の精度で加工管理し維持しておくか」
とかいう概念って、死ぬほど今までやってきた事じゃん。という結果になったんですね。
実際構築したかどうかという点はまぁ金もいるしQuickLabでつついたぐらいですけども、
「できる」ということはわかってるし「手法と概念」については骨身に染みついてる。
すげーな、某有名コンテンツとか某有名企業のバックエンドと管理ツールを全般担ってきただけなのに
俺意外と天然で最先端ライクな思考回路をもってるんじゃん!!!!!(なのになんでVBAやってんだ)


…なんかスッカリ忘れてた。俺、某ゲームとか某ゲームとか某ゲームとか某ゲームとかで
リードエンジニアとか職種長とかエンジニアリングプランナーだったんだよ…
思い出したわ・・・・


「IOTだの端末での機械学習だとかなんとかいうてるけど、
端末が処理や推論したものをさらにサーバーで処理ってモロにモバイルゲームのバックエンドじゃん!!!」


と思ったらちょっと冷めた。
あと、GCPの公式コンテンツの日本語が不自由すぎて萎えてる。
資格に邁進してみようかと体験談漁ったらAWSの資格持ちとか公式トレーニング(30万円)受けたとか。
激萎え。
ガチ萎え。

つーことで、集めたデータをどのように活用していくかの発展形を追うことにします。
れっつ機械学習。
俺は会社と違う場所でAI人材になるッ
(そしてスキルセットの活用できる場所に旅立つ)
(とはいえ、趣味で突き進んだ後は何かしら証拠に資格取らないとダメなんだろなめんどくせぇ)

 

なんかいまいちアメブロの使い方がよくわかっていないが、

とりあえず興味の概略記事をみつけたので、自分用にメモ。

 

QuickSight ”アマゾンが格安分析ツールを強化”らしい

AWSもBIツール持ってたんだなー(まぁそりゃそうか)

もうちょっとAWSにも興味をもつべきかもしれない。

 

■機械学習の機能面のポイントは2つある。
 
①「異常検知」
 過去のデータと照らし合わせて、売れ行きが突然下がった場合など、
 機械学習による人工知能(AI)が異常と判断したときに管理画面やメールで通知する。
 
②「将来予測」
 データの推移をAIが分析し、季節要因による売り上げの増減などを自動的に加味しつつ、
 今後の予測値をグラフ上で提示する。
 
 折れ線グラフをマウスでドラッグするか、数値で目標値を指定すると、
 目標とすべき売り上げ推移のグラフをAIが描き直す。
 
③「自動ナラティブ」と呼ばれる文章の作成機能もある。
 日々の売れ行きのサマリーや、年次目標に対して どれだけ達成しているかを文章で表示する。
 

 

GoogleDataStadioについては少々つついてみてはいるが、

女子からすると、正直見た目が味気ないっちゃー味気ない。

(つーか、見た目は自力でシステムを組めっちゅーことでしょうかねw。俺、JavaScriptでおしゃれにするテクはないんよねw)

しかしながら、AIやらあの辺の技術を加味すると、GoogleのBIさんには超期待したい。

(そして思う、VBAででかいデータやらを落としてきてチマチマタラタラとピボットで何やら何やらする文化はホンマに潰れろ)

ちなみに、GoogleDataStadioは利用料タダ。

利用料タダ

 

記事にあった「Tableau」は、見た目も楽しいおしゃれBIだと思います。

ほんとにUIでチマチマしてるといい感じにデータが出てくる。NOプログラマ向きだと思います。

データの出し方も直線的でわかりやすい。

マーケターは使いやすいんちゃうかな。(かわいいから客受けもよさそう)

 

Qlik Sense」に関しては、データのアレンジをゴリゴリしたい場合には良き。
システムとロジックを組んでしまえば配布も楽だし。ただちょっと組むのに癖とテクが必要。

古いカオスデータを色々つついてアレンジしようと思う場合はこれがわかりやすいし、いいかもしれない。

ただし、システム組めない人がゴリゴリ使おうと思うとしんどいかもしれない。

ちなみに、こちらは凝りすぎるとワケのわからないものも作れてしまうのでオシャレUI路線の人はちょっと注意。

 

DataStadioやTableauはおそらく解析前のデータの加工を別途考える場合のハードルがちょっと上がるような気がする。

ってまぁ、どっちにせよ、エンジニアの取らされる手間がクラウドとサーバーの性能のおかげで段違いになっててありがたいなぁ。

 

以前は

①分析担当「〇〇のデータ今すぐ作って!」

②エンジニア「うるせぇ忙しいんだよ。●日間待ってよデータ量多いんだから!」

③分析担当「なんかちょっとちげーよやり直し」

だったのが

①分析担当「〇〇のデータいますぐ作って!」

②エンジニア「関連データを引っ張れるようにデータ作っといたからツールに取り込んで自分で好きにいじって。」

になって

①分析担当「〇〇のデータいますぐ作って!」

②エンジニア「関連データを引っ張れるようにデータ成型してあるからツールで自分で好きにいじって。」

な感じ。

 

ただ、ちょっと思うのが、予測データのAI化ってどこまで現場で採用できるのだろうか。

おっさんとか自分でゴリゴリデータ触りたがるし根拠とか根拠とかソース出せとか言うじゃん。

 

 

 


インフラ部のいる会社でオンプレLinuxを使ってバックエンドエンジニアしてた私が
現在、クラウドに関しては完全にノー知識でGCPに頭を突っ込んでる話。
誰も仲間がいないので、完全にソロ活動。

ちなみに会社の業務とは関係ない。
AWSは2か月程度軽くEC2上でLaravel触ってただけだからなんの勉強にもなってない。

今?SESガチャでVBAやってるよ。ちくしょう。
(おかげで尻に火がついてキャンプファイヤーですよ)

社内の(違う部署の知らない)比較的えらい人達が

「クラウドをどう勉強したりいいかわからない」とか談笑してやがったので
「そんなレベルで始めるんだったら、その案件こっち寄越せよ勉強してるから!(号泣)」

と脳内で大発狂してたわけですが、
とりあえずGCPの場合について経験から語ってみることにする。

ターゲットは一般的OSSプログラマとしての知識がちょびっとあるアナタです。


①YouTubeに公開されているCloudOnAirを最初から眺める。
https://cloudplatformonline.com/onair-japan-past-webinars.html#past-video  ;  
 まずはこれ。ほんとこれ。クラウド初心者にもわかりやすい。
 展開が早いので、できれば、公開されてるPDFは印刷した上で、ペンを持って向き合ったほうがいい。
 俺みたいなポンコツは特に。

 実践的だしGCPだけでなくクラウドを使う上でも役に立つ内容が多い。。


②CloudOnAirによく出てくる主要なサービス名とロゴを覚える。
 これがわからんと、いろいろな図が理解できない。超大事

③公開されている事例紹介を見る
 各アーキテクチャについては理解できなくても、
 なんとなく最終的に何ができて何を作れるのかのイメージがわく。
 つまり、脳内に夢が広がり楽しくなる・・・かもしれない。

④いきなり自分のGCPアカウントを持つことはない。

  QWIKLABSをやってみよう。
 まずは、QWIKLABSでハンズオンだ。無料でできるやつもある。
 いろいろコースもあるし楽しいです。(日本語がちょっと不自由な訳のコースもあるけどw)
 特に今は、↓こんなんやってて、無料のチケットがもらえます。始めるなら今!マジで!!

  ●QWIKLABS を使って GCP を学ぶ、Cloud Study Jams #2 を開始します。
  https://developers-jp.googleblog.com/2019/01/cloud-study-jams-2.html

⑤ある程度イメージがついたら、自分のアカウントを持ってみる。
 自分がまずアカウントをとってしまって、何にもできないまま時間が経ってるから言うてるんです(TДT)
 アカウントをとって無料なのは1年or無料枠を使い切るまでです。
 ド初心者が焦ってアカウント取得するこたーねぇ。まずはイメージを固めるところからだ。
 (別垢取りまくるってのも手かもしれない。しらんけど)
 GCEだのなんだのを立ち上げる程度のトコならQWIKLABSでもできます。

⑥GCPUGに入ってみる
 ユーザー会ですね。
 slackに登録してるといろいろ流れてくるので、わからなくても眺めておく。
 ちょっと今、少しわかるようになって楽しくなってきたところ。

⑦Pythonの必要性を眼前に突き付けられ絶望する←いまここ
 ・・・必要なんですよ、Python。
 GCPを深堀すればするほど必要性を感じるんですよ、Python。
 逃げ続けたツケが今ここに。


とまぁ、⑦は半分冗談(というか、これが一番ボディーブロー)ですが。

 

本やらGCPパートナーの書いてるブログ、Qiitaと散々つまみ食いしましたが、
やってみた実感としては、CloudOnAirが一番近道です。動画だから時間はかかるけどね!

だって前者はわかってる奴が自分のレベル感で書いてるんだもの。
私のような庶民は、Google様が我らのようなポンコツにもわかるように解説して下さってる解説動画から始めましょう。

(同じGoogle様からの提供物のチュートリアルとか公式サイトがサッパリ意味がわからなくても、Onairならわかった気になれるよ!)


頑張ろう、ポンコツなりに頑張りたい俺ら!
 

先日朝礼で行われる小話で

言霊はあります、みなさん、仕事においても目指すところを言葉にしましょう
というスピーチがありました。
そのスピーチをした方本人は、「社内であれをやりたい」をほんとに現実に持っていった人なので
それはそれでマジで凄いのですが、

自分に置き換えると兼業主婦で残業も接待も東京での活動もできず、

どうにも社内で主導で動いて引き寄せるのは無理。


なのでとりあえず言霊に出しておきたいと思います、
「子育てが落ち着いたら、GCPのパートナー企業orクラウド系ソフトウェア開発企業に転職する」
会社のGCP関連部署に転属になれば一番なんですけどね。まぁ今のままじゃ無理ですね。

(つーかそんな部署無いですしね)
主な仕事がVBAじゃね・・・なんでこんなことになったんや・・・orz 
会社は嫌じゃないんですけどね、仕事内容と開発環境がね…ほんとむり。
高負荷アクセスを捌いてたバックエンドエンジニアをなめんなよ、と。

スキルセット無視かオイ、と。
 

騙された感満々ですが、とりあえず、自己の成長の見込める分野へのアプローチは諦めないで生きていきたいですね。
GCP勉強してます楽しいです。が、Pythonなしでは生きていけない現実にぶつかりまして、

とりあえずUdemyでいろいろ講座をバカ買いました、セールしてたし。

 

https://www.udemy.com/

 

一見高いけど、e-learningとしては超おすすめ。

しょっちゅうセールやってて80%オフとかやってるので、タイミング見てどうぞ。

自分の時間の足りない主婦プログラマにはいいかもしれない。