読者です 読者をやめる 読者になる 読者になる

逃亡見聞録_d

南から逃げてきた

深層学習の理論と実装 Deep Learning Javaプログラミング

学習

深層学習

この書籍を購入

Deep Learning Javaプログラミング 深層学習の理論と実装 (impress top gear)

Deep Learning Javaプログラミング 深層学習の理論と実装 (impress top gear)

お前は結局pythonをやりたいのかjavaをやりたいのかと言われそうだが、馴染みのあるjavaから深層学習に触れてみようと思う。普通の実装もやっとなので、この複雑な数式をオブジェクト指向で書けるのかという不安もあるが、やってやれないこともない。と思う。

人工知能とは

とりあえず、面白そうな部分を抜粋。まずは人工知能の例という部分。本書では人工知能を大きく3種類に分類しており、これらはそれぞれ異なる人工知能、とのこと。

  • 人間があらかじめプログラムした単純で機械的な動きを繰り返すもの。例えば、工業用ロボットが決められた作業を高速処理することがこれに当たる。

  • 人間が決めたルルーに従って、与えられた問題の答えを探索あるいは推定するもの。例えば、お掃除用ロボット「ルンバ」が部屋の形に沿って掃除してくれるのは、障害物に当たった時の状況から、部屋の形を推測するからだ。

  • 既知のデータからある程度の規則性を見出すことで、未知のデータにも答えを提示するもの。例えば、ユーザーの購買履歴に基づく商品の推薦システムや、アドネットワークにおけるバナー広告の分配などが、これに当たる。

今回の人工知能ブームは3回目のブームらしい。一過性のブームではないかという疑問に対して、本書ではこう答えている。

今回のブームには、これまでのブームと比べて大きな違いが一つある。そう、それこそがディープラーニングである。ディープラーニングが、これまでの技術では成し得なかったことを成し遂げたのだ。それは何か。ひと言で言うと、「機械自ら与えられたデータの中から特徴量を見つけ出し、学習する」ことである。

ちなみに今までのブームで取り上げられていた手法を抜粋。

深さ優先探索(depth-first search)と幅優先探索(breadth-first search)

まずはパターン分けをして探索を行う手法。深さ優先探索(depth-first search)と幅優先探索(breadth-first search)がある。

深さ優先探索はツリー構造となるパターンの根元から可能な限り深くまで各枝を探索してから、次の木に進む。幅優先探索は各木の同じ深さを探索してから、次の深さに進む。これらの探索アルゴリズムはチェスや将棋などで一体の成果を挙げたらしい。

詳細は下のサイトに。高校数学なのか。高校行きたかったな。 mathtrain.jp

問題点

このアルゴリズムを現実世界に即した機械を作る場合、以下2つの可能性がある。

  1. 課題や目的を遂行するにあたり、副次的に発生する事項や可能性を考慮する機械
  2. 課題や目的を崇高するにあたり、無関係な事項や可能性を除外する機械

どちらも、人間が課題を与えたとすると、目的を完遂する前に機械は考え込み、フリーズしてしまうだろう。特に後者は、何と関係があるのか何と無関係なのかなどを選り分けるのに無限に時間がかかってしまうため、最初の行動を取る前からフリーズしてしまうことだろう。 なぜなら、これらの要素は現実世界にほぼ無限に存在するので、その無限のパターンを機械を考え出したら(探索し出したら)現実時間の中で到底解けるものではないからだ。この問題は、人工知能分野における重要な課題の1つとして知られており、フレーム問題(frame problem)と呼ばれている。

初期値鋭敏性を有する力学系まで把握しようとするから当然そうなるかもしれん。詳しいことはわからん。

バタフライ効果 - Wikipedia

カオス理論 - Wikipedia

以下は次回…

Knowledge Representation(KR)

機械学習

通勤

杖をついて歩く人を見かけた。点字ブロックの上をカツカツ鳴らせて歩いていたので、目が悪いのだろう。その人は自分とは逆方向から歩いてきた。

ちらと顔を見ると、両目はぱっちりと開いていて、自分から見て左上、彼にとっては右上に両の黒目が揃っている。やはり眼病に罹患しているのか、その方向からは朝日がちょうど差し込んでいるにも関わらず、眩しそうなそぶりもないし、瞬きもまったくしない。ちょうど電車がやってきて、盲人と自分は同じ車両に乗り込んだ。

盲人は目の前に座席に座り、自分の右肩を凝視している。なんとなく自分も右肩を見てみるが、当然何もない。しかし、右後方まで首を回すと、黄色いもやが漂っていた。

キラキラと輝くようなそれは砂埃のようでもあったが、床に落ち着くことなく空間に留まっている。眼鏡を外し、ぼやけた視界でも確認できた。レンズの汚れではないようだ。

降車駅に着いてしまったのでホームに降りたが、ドアが閉まる前にも見えたそれはしっかりと存在していた。盲人に関してはそれ以上知らない。

コングラッチュレーション多忙

雑記

仕事

営業の人とは距離を置いていたい。苦手というか、仲良くなっても得しないというか、むしろ損というか。嫌いかもしれん。

と考えたところで、そもそも営業と呼ばれる人と交流を持ったのが初めてだと気づいた。単純に慣れていないだけ、これが人見知りの咎である。コングラッチュレーション‼︎

営業イコールフットサルとかね、偏見が多分にあるよ。自身との差異をたくさん探して距離を置こうとするのでね。 人間的交流はほどほどに。

書籍購入

まだ届いてないけれど、書籍を購入。

入門 Python 3

入門 Python 3

あんだけpythonpython言っといて今更。という気もするが、やはり体系的な知識が欲しい。これと公式Documentでなんとかしたいところです。

あと安部公房の本

けものたちは故郷をめざす (新潮文庫 あ 4-3)

けものたちは故郷をめざす (新潮文庫 あ 4-3)

まだ届いただけで読んでいない。

安部真知の装画は結構好みかもしれない。新装版もかっこいいけど。

職業

働いていると、当然にその業界の人とばかりの付き合いになっていく。下手したら隔絶した閉鎖環境で過ごすことも可能になる。それが悪いことか良いことかは置いておき、その閉鎖環境は多分、自身で作り上げている。

周囲に立つサラリーマン達の所為ではない。服装から職業を判別できるほど、皆個性的ではないし、自分にはそういった審美眼は一切ない。立ち尽くすしかない暇を潰そうと、久しぶりにTwitterを開いて、趣味である嫌いな知り合いのtweet巡りをしている際にそう思ったのである。

やつは自分があまり興味のない出版社に勤めている(自分は幸福である)。忙しい日々を送っているのかtweetの頻度は少ない。内容も大したことはない。仕事を持ち帰って嘆いたり、寝るだけの週末に感謝を捧げているだけであった。

いつもならその腹しか立たない文章と、詰め込んで垂れ流すだけの語彙に満足を覚え、嫌な充足感を腹の底に溜めていくだけなのだが、如何せんこいつ、多忙。可哀想。

こいつの仕事は大雑把に括ると現場管理系。管理といっても下っ端だから現場業務もやらされる。業界は違えど、自分も前職は似たような職種だったので、大変だなと思う。

最も、こいつの仕事は持ち帰れてしまう類なので不幸な話である。四六時中仕事に拘ることが出来てしまうし、際限ないだろう。そうなると前述した閉鎖環境に身を投じ、その生活環を回り続ける。しかもその閉鎖環境は自分で整えてしまったものでもあり、おいそれとは抜け出せない。辛いけど居心地が良かったりもするのだ。

「自身の働き方は自身で決めるべき」といった自己啓発的問題提起をしたいわけでは無い。自身が働く環境は自身が作り上げてしまうのだと曖昧模糊に思いついただけである。同じことかもしれないが。これは駄文だ。

pythongitPC購入

学習

python

そろそろやることが決まってきた感じ。

Pythonからはじめる数学入門

終わるかな…

PC購入

2台目が欲しい。

git

基本的なフローはなんとなく理解。でも時折不便に感じるのは使いこなせてないんだろうな。

source tree、git bashを併せて学習したい。一気に覚えるよりも、他の言語の学習をしつつやっていく。github使ってればなんとか自然と覚えることが望み。

idle3解決の道

学習

python3.6でidle3を起動するとWARNINGが出る 以下の記事で最後投げたやつの続き。

slint-slint.hatenablog.com

結局、環境変数が原因だったみたい。DYLD_FRAMEWORK_PATHの参照先を/Library/Frameworksに変更してあげれば無事idle3が起動した。

Re: Getting IDLE to use correct Tcl/Tk on MacOSX 10.6? « python-list « ActiveState List Archives

毎回セットし直すのも面倒だし、クラッシュするTcl/Tk 8.5.9を参照してもしょうがないので環境変数に設定…しようと思ったらやり方知らない。 このPCを使い始めて5年以上になるけど、環境変数を使っていない。

赤面しながら記事参照。bash_profileね知ってる知ってたみたことある。

kyuuuuuuuuuuri.hatenablog.com

合併症は唸り声をあげている

雑記

運動

体が強張っている。筋肉がすっかり緩んでしまって、緩んだままに固まってしまった。腰が痛いのもそのせいだろうか。 運動しよう。

暖かくなったので何かを始めるのもいいかもしれないが、時間あるのかな。 とりあえず散歩から。

酒を飲む

友人と飲む。近々転職を考えている友人と飲む。というか、春には転職する友人と飲む。久しぶりに会ったと思うのだが、 相変わらずひどい話しか出ない。最近、下半身の合併症に罹患した彼は抗生物質を6錠いっぺんに飲んでいるとか、元々の保持者であった女性にヴァレンタインデーにチョコを貰ったとかで、耳の奥に膿が溜まってしまった。

最初の店で3時間ほど飲んで解散。大学時代の友人というのはとても良いなと思った。会社と自宅との往復で人間関係は限定される。限定されること自体は悪いことではない。ただ、どうしてもしがらみというか、縛りはある。それを愚痴りたい時もあるのです。

自分の考えを聞いてほしいが、単純に同年代の考えは興味がある。彼とは気のおけない仲、と言うわけではないが、お互いの気の遣い方を理解している仲である。なんでも話せるわけではないが、真剣に話せる人間である。性病に苛まれている彼の口からは、本気の言葉しか出ないのだ。

燻る

残業が多く、中々捗らない。今日は燃えるゴミの日だというのにすっかり忘れる始末。やはり、一日の労働時間は八時間に納めるのが、我々社会人の青い鳥であることを否めない。 さらに、我ら「南からの逃避行組」の同胞には、丑の刻に翌日の飲み会に行けない旨を伝えて来る者や、残業代の出ない会社に深夜まで残り、ひたすら物体と物体を混ぜ合わせる仕事に従事する者もいると聞く。先週、串に刺さった青い鳥を飲み屋で食べたよ。

愚痴は終わり。問題はpython。弾性検索に時間を取られている間に二月も半ばを過ぎる。データ分析やら画像処理やらに早く触れたいのに、触れられなくて震える。

本社の方で少しやらせてくれるとのことだが、果たして、といったところである。時間あんの?

あと、PCのメモリも換えなければ、stsを起動しただけで唸り声をあげている。

あからさまにidle3、水分が増えて

暖かくなってきたと思う。あからさまに朝起きるのが楽になり、冷たい外気にも水分が増えて幾分緊張感が和らいでいる。なんてこと考えながらアプリで今日の気温を調べてみると、3℃。2017年2月の平均気温、5.8℃。気のせいだったらしい。

 

残業

久々の連続残業。しかし、そこまで辛くはない。奇妙だがハゲも優しい。明日は楽なので、とっとと退勤予定である。

遠くの友人が明日、近くを訪ねるらしい。飲みに行こうかとも話したが、辞めておいた。今月は色々と出費がかさんだ上、よくよく聞くと全く近くではなかった。

 

寝不足

結局、Idle3の問題が解決できず、午前3時半までインストール/アンインストールを繰り返した。間抜けな推論に当てをつけ、今日も帰宅後取り掛かる。Bottle…

昨日、就寝間際に気づいたんだけど、そういけばrootユーザで実行していなかった。完全に理解。会社も眠いしはよ帰りたい。

Gradleがわからんちん。  

 

 

 

 

Gradle(STS)でSpring Starter Project作成,pythonのIdle3のWARNING解決(できず)

学習

java,Gradle

 Spring Starter Project作成画面ででGradle(Buildship)を選択しようとすると、STS DashboadからIDEを拡張してね的なエラーが出る。 IDE拡張ページをみてもGradle legacy STSプラグインしかなく、しかもInstallできない。でもこれlegacy project用だろうし、関係ない。

 そもそもBuildship Gradle integrade はとりあえず突っ込んだだけなので、それだけで動くかどうかも怪しい。

 色々調べた結果、Buildship と Gradle IDEは別プロジェクトらしい。現時点ではBuildship推奨とのことだが、手動インストールでもできなかった。公式git hubのwikiを参照。スタートアップ手順が載っているけど、これ通りでも無理。なんでや。

github.com

 あんまり時間かけても仕方ないので、Gradle IDEを手動インストール。

github.com

 とりあえず、Gradle(STS)を選択してSpring Starter Projectは作成できたが、うーん…何か前準備が抜けてしまっているのかも。

 build.gradleのdependenciesに以下を追加して今日は終わり。コピペ元は

Maven Repository: org.elasticsearch » elasticsearch » 5.0.2

compile group: 'org.elasticsearch', name: 'elasticsearch', version: '5.0.2'

python

Pythonからはじめる数学入門

 1.5.2 乗算表を生成するに取り組み中、頻繁にIdle3がクラッシュする事態に、というかIdle3を立ち上げた時点で以下のWARNINGが出力されていることに今日気づく。

WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable. Visit http://www.python.org/download/mac/tcltk/ for current information.

 出力されていたURLによると、Tcl/Tk(8.5.9)には深刻なバグがあって、予期せぬエラーが発生してクラッシュするらしい。

Apple 8.5.9 このリリースは、少なくともMacOS 10.12からMac OS X 10.7に含まれています。この記事の執筆時点で、Apple 8.5.9 Tkには存在するが、さらに最新のアップストリーム8.5リリースで修正された、Tk 8.5.9に関する少なくとも2つの既知の問題があります。より深刻な問題は、キーボードのOption-uのようなコンポジション文字を入力するときにTkが即座にクラッシュすることです。(この問題はTkバグ 2907388として 文書化されています。)さらに最近のTcl / Tk 8.5リリースで修正されたコンポジット文字(Tk bug 3205153)の入力マネージャサポートのより一般的な問題もあります。あなたはとリンク現在のpython.orgインストーラ使用してこれらの問題を回避することができたActiveTcl 8.5.18.0またはApple 8.5.9のTkを使用していないのPythonサードパーティの配布を使用しています。これはAqua Cocoa Tkです。

 OSのversionがビンゴだったので速攻インストール。ActiveTclってなんだろ。Perlみたいなもんかな。Activeついてるし。知らん。

 再度、Idle3を立ち上げるとそこには見事なWARNINGの文字列。以下のサイトによるとpythonの再インストールが必要らしい。

kronus9.sblo.jp

 閉店。就寝。