ローカルマシン(mac)にJuliaをインストールしてJupyter notebookで使えるようにするまでの手順

Installation of Julia (mac)

Download and execute the installation file from: https://julialang.org/downloads/

Add the path to the PATH

reference: https://en.wikibooks.org/wiki/Introducing_Julia/Getting_started

$ PATH="/Applications/Julia-1.2.app/Contents/Resources/julia/bin/:${PATH}"
$ export PATH

Add Julia to the kernels of Jupyter notebook

reference: https://qiita.com/norif/items/4fb175ce4fb34f5f524f

$ jupyter kernelspec list

Available kernels:
python3 /anaconda/lib/python3.6/site-packages/ipykernel/resources

$ julia
julia> ]
(v1.2) pkg> add IJulia

(v1.2) pkg> (exit by ctrl+C)

julia> exit()
$ jupyter kernelspec list

Available kernels:
python3 /anaconda/lib/python3.6/site-packages/ipykernel/resources
julia-1.2 /Users/riow/Library/Jupyter/kernels/julia-1.2

日本は後進国?

ソフトバンク孫正義社長が「日本はAI後進国」と発言して話題になったが、もはやあらゆる分野で日本は後進国であるという言説が登場してきた。

www.newsweekjapan.jp

いつか来た道

"元々貧しく、一時的に経済大国になりつつあったが、最近また貧しくなりつつある"
"元々弱く、一時的に軍事大国になりつつあったが、最近また弱くなりつつある"

多くの日本人は日露戦争勝利によって日本は軍事大国になったと思った。その後の第1次世界大戦で欧米各国に大きく差を付けられてしまったことに気づいていた日本人はごく僅かで、そのまま軍事大国の自信を持ったまま大胆にも太平洋戦争に突き進んで敗戦を招いてしまったという痛い経験を我々日本人は持っているが、戦後の日本経済に対する現代日本人の錯覚も同じような反応を見せている。

すなわち、多くの日本人はバブル期で日本は経済大国になったと思った。その後の失われた20年で欧米各国に大きく差を付けられてしまったことに気づいた日本人はごく僅かで、そのまま経済大国の自信を持ったまま衰退産業にしがみつき続けるだけで新たな産業分野への投資を怠ったため失われた30年を招いてしまった。

敗れて目覚める?

"進歩のない者は決して勝たない 負けて目覚める事が最上の道だ 日本は進歩という事を軽んじ過ぎた 私的な潔癖や徳義に拘って、本当の進歩を忘れてきた 敗れて目覚める、それ以外にどうして日本が救われるか 今目覚めずしていつ救われるか 俺達はその先導になるのだ。 日本の新生に先駆けて散る。まさに本望じゃあないか" 臼淵大尉(戦艦大和特攻を前にして)

最大の問題:日本は成長スピードの緩急が欧米各国のそれと全然同期していない、ということ

  • 日本は全力疾走と牛歩を繰り返している
  • 一方欧米は長距離マラソン
戦国期〜江戸幕府による鎖国まで
欧州の大航海時代と同期(日本の成長スピード = ヨーロッパの成長スピード)
鎖国から開国まで(江戸期): 牛歩
欧米の産業革命後の資本主義経済システムと完全に非同期→一気に差を付けられる(日本の成長スピード << 欧米の成長スピード)
明治維新日露戦争終結まで(明治時代): 全力疾走
欧米に追いつけ追い越せで、欧米の成長スピードを凌駕(非同期)(日本の成長スピード >> 欧米の成長スピード)
日露戦争終結~1945年敗戦まで(大正・昭和初期): 牛歩
欧米よりも優れていると自負し進歩を軽んじるように(非同期)(日本の成長スピード< 欧米の成長スピード)
戦後〜バブル直前: 全力疾走
再び欧米に追いつけ追い越せで、欧米の成長スピードを凌駕(非同期)(日本の成長スピード > 欧米の成長スピード)
バブル崩壊〜現在: 牛歩
欧米よりも優れていると自負し進歩を軽んじるように(非同期)(日本の成長スピード < 欧米の成長スピード)

日本も欧米と同じスピードで走り続ければ良い(その代わり途中で止まるな)

全力疾走と牛歩を繰り返すのを改め、常に日本の成長スピード = 欧米の成長スピードにして進めば何も問題はない。頑張りすぎ厳禁。過信・怠けすぎも厳禁。

唯一スピードが同期していた時代:安土桃山時代に学べ

欧米と接触し始めたばかりだったので、欧米と比べて日本人は優れているとか劣っているとかという議論そのものが存在しなかった時代。良いものは良い、という精神で海外の文物を積極的に取り入れ、日本独自のアレンジを加えて文明を開花させた。南蛮文化・安土桃山文化の独自性と完成度を見よ。

日本人自身もどんどん海外に打って出ていた。朱印船貿易で海外と交易し、東南アジア各地に日本人町を建設した。イエズス会の宣教師フランシスコ・ザビエルに日本に行くように進めたのはフィリピンにいた薩摩人。南蛮人もキリシタもウェルカム。倭寇の精神で儲かるなら交易する相手は選ばない。当時の日本は世界に開かれていた。(その後の江戸幕府鎖国政策はこのような日本人の原始的なエネルギーを完全にスポイルし、200年も世界から隔絶されてしまったせいで、いつの間にか黒船や異人に怯えるいじけた江戸町人のメンタリティが日本人の意識構造の基幹になってしまった。)

マスケット銃(火縄銃)の大量生産で、知らないうちに軍事大国

朝鮮出兵で日本軍の銃火器の運用技術レベルは世界水準から見ても頭一つ抜けていたことが判明。慶長5年1600年頃までの世界の鉄砲の総数は約90万丁、そのうち日本が約60万丁を保有していた。ちなみに朝鮮出兵の真の目的は、スペインが明を支配下に置く前に、明を日本の支配下に置くことだったらしい。秀吉は対スペイン戦を意識しており、当時の日本は世界帝国スペインと互角に渡り合えるポテンシャルを秘めていた。当時の日本経済の規模等詳細は不明だが、経済的に余裕の無い国が金がかかる外征(朝鮮出兵)なんかをするはずがなく、その点から考えると経済大国だった可能性が高い。

江戸幕府という途方もない後進地理念を固守する統一政権が腰を据えたことが日本の不幸な運命だった。日本の近代国家としてのあらゆる可能性の芽は、この政府によって強力な封権制度が再編された結果、完全におしつぶされてしまう。戦国のエネルギーが残っていたのは元禄期までにすぎない。まったく新しい開放経済という条件に直面している現代日本ナショナリズムの歴史的原点は、やはり、あらゆる可能性が開かれていたこの戦国時代に求められるべきではないだろうか。わたしたちのナショナリズムが奇妙なゆがみを受けないためにでもある。" 会田雄次著『日本人の意識構造』から

日本人の意識構造 (講談社現代新書)

日本人の意識構造 (講談社現代新書)

でもやっぱり最後に一言

日本だってこれまで大国になろうとして色々チャレンジしてきたけど、うまく行きそうになると必ず欧米の干渉で潰されてきた。

これだけやられてりゃ先進国になれる方がおかしい。今まで日本から先進国の芽が出そうになるとぜ〜んぶ国際政治ナンタラに潰されてきたのサ。孫正義はそこんとこ分かってない。

X Japan計画

悪化する東アジア情勢で冷戦期の用語が復活?

日韓関係が悪化し、韓国によるGSOMIA破棄に揺れる東アジア情勢。米軍の韓国撤退が噂される中冷戦期に有名になった米国の東アジア防衛戦略でありいわくつきの”アチソンライン”の復活が現実のものになるかも知れない、という言説が登場してきました。大学で国際政治を専攻していた自分としては非常に懐かしい用語です。

www.excite.co.jp

jp.reuters.com

ameblo.jp

紹介した記事にも説明がありますが、このアチソンラインというのは、冷戦当時アメリカの国務長官を務めていたディーン・アチソンが米軍の防衛戦略を同盟国に説明するために「アリューシャン列島・日本・沖縄・フィリピンに対する軍事侵略には断固として反撃する」と明言したものです。このことで「アリューシャン列島・日本・沖縄・フィリピン」のライン(第1列島線)よりも大陸側に位置していた朝鮮半島については米軍の防衛ラインの埒外であるという印象を当時敵対していた東側諸国に与えてしまい、朝鮮戦争を誘発してしまったとまで言われています。

f:id:HealthcareIT_interpreter:20190827093840j:plain
アチソンライン
ここでの教訓は、「交渉ごとをする際は明言を避ける」というものでしょう。私も社会人になってから、このアチソンラインのことを思い出して慎重に行動したことで惨事を免れた経験が何度もあります。

日本の新国家戦略

米軍がアチソンラインの第2列島線(小笠原諸島・グアム・サイパンパプアニューギニア)に後退する可能性は現実味を帯びてきています。そうなると日本は大陸に対して最前線で対峙するポジションになります。このような状態で対米存型の防衛体制を踏襲し続けていていいのでしょうか?日本が自主的に防衛体制を強化すべき時期が来ていると思います。そこで提案したいのは、日本が第1列島線と第2列島線をそれぞれ北方に延伸させたX列島線に対して積極的な防衛体制を敷くというものです。

・アチソンラインの第1列島線を千島列島まで伸ばす

・アチソンラインの第2列島線を樺太まで伸ばす

・両ラインが交差した状態、つまりXの文字が現れる

・このXラインの権益を確保するという防衛戦略をX Japan計画とする

f:id:HealthcareIT_interpreter:20190827093756p:plain
X-Japan
各列島線を北方に延伸する訳ですがから、当然ロシアとの対立も招くことでしょう。ここは対露外交で何とかすべきです。北方領土が返還されれば日露軍事協定も視野に入ってくると思います。

第2列島線の南方でグアムの米軍と、第1列島線の北方でアリューシャン列島の米軍と、それぞれ連絡します。こうすることで日米同盟はこれまでと同様に強固なものとなるでしょう。日本固有の国益としては第1列島線南方のシーレーン確保です。グアム・アリューシャンで米軍と共同する見返りに、米軍にはこの方面(第1列島線南方)に関心を持ってもらうことができると思います。

私は19世紀以来の富国強兵・国民国家システムには強く反対しています。このようなシステムに依存している内は、いつ第三次世界大戦が到来してもおかしくはありません。しかし、あくまで純粋に地政学的な考察をすれば、今後日本が取り得る防衛体制はこのような列島線に依存した不後退戦略以外に無いとも考えています。それに何より分かりやすいことが重要です。地図を見れば明らかにX字型になっており、過去の人気ロックバンドの影響もあって人口に膾炙しやすいでしょう。

また軍事予算の確保という問題も度外視しています。X Japan計画を実施するには海軍力の拡充が不可欠ですが、日本経済が後退し、社会保障費も増大する中で軍事予算を従来より増やすことは簡単なことでは無いでしょう。しかしMMT(現代貨幣理論)を取り入れて政府支出を増やすことができれば十分実現可能であると考えます。

”Approximating Interactive Human Evaluation with Self-Play for Open-Domain Dialog Systems"

https://arxiv.org/pdf/1906.09308.pdf

章立て

  1. Introduction
  2. Related work
  3. Knowledge distillation for sentiment and semantic regularization
  4. Interactive evaluation methodologies
  5. Experiments
  6. Conclusions

概要

"対話システムで、発話に対する人間の評価を予測する関数を作り、それに基づき自己対話(Self-Play)で学習したという研究。評価関数は感情、文関係、質問らしさ(?を含むか)を組み合わせた線形関数。再現可能なよう学習済みモデル+ルールで構成され実装も公開されている。" by https://github.com/arXivTimes/arXivTimes/issues/1352

手法

会話の質を評価する {\displaystyle M_H} という新たな指標を導入。 {\displaystyle M_H} をself-play(botが生成した応答軌跡)に適用させ、判定結果が人間による評価とどう関連しているかを調査した。なお評価対象の会話は複数ターンのものを用いた。

結果

新指標 {\displaystyle M_H} の評価は、人間による評価と強い相関(r>.7)を示した。

コメント

会話の質を判定する新指標{\displaystyle M_H}を導入し、これまで人間による評価に頼っていたところを機械に代替させようとする研究であることまでは容易に読み取れたが、botの会話トレーニングもこの新指標結果を最適化させる方法で行なっているのか、それとも別の評価指標を使ってやっているのか分かりにくい。

[論文紹介]“What is your data worth? Equitable Valuation of Data"

https://arxiv.org/pdf/1904.02868.pdf

概要

教師あり機械学習を各データポイントによる共同作業と見なす。各データポイントはプレイヤーであり、学習アルゴリズムを通して共同して予測スコアの向上を目指す。ゲーム理論で提案されたシャープレイ値を用いてプレイヤーである各データポイントが得るべき公平な報酬額を計算することで各データピントの学習への寄与度を定量的に評価する。

手法

教師ラベル付き学習データ(D), 学習アルゴリズム(A), 予測スコア(V)の3要素を用いてデータシャープレイ値φ(D, A, V)を求める。φを求める式はゲーム理論のシャープレイ値とほぼ同一。ただし、この式で全体の報酬額を計算しようとすると、データポイント一つ一つ計算しなければならず計算量的に大変なので、モンテカルロ近似を用いる。 f:id:HealthcareIT_interpreter:20190823082917p:plain

結果

誤ったラベルを付けられたデータポイントのデータシャープレイ値は低くなる。これにより正しいラベル付けがなされているか定量的に評価できるようになる。

低いデータシャープレイ値を持つデータポイントを学習データから除外するとモデルのパフォーマンスは向上する。逆に高いデータシャープレイ値を持つデータポイントを除外するとモデルのパフォーマンスは低下する。

コメント

ゲーム理論において協力によって得られた利得を各プレイヤーに後世に分配する方法の一案として1953年に提案されたシャープレイ値を機械学習領域に拡張しデータシャープレイ値とした発想には脱帽する。各プレイヤーがそのまま各データポイントに置き換えられた。ゲーム理論においては各プレイヤーは協力によって報酬を得られるため、協力にインセンティブが働くが、機械学習の場合、各データポイントを提供するデータ提供者(各プレイヤー)が同様に報酬を期待してモデルの学習に有利なデータを優先的に集めるようになると、観測分布と真の分布に乖離が生じさせてしまう恐れはある。その点も考慮してか著者はDiscussionで「データ提供者がデータシャープレイ値に応じて報酬を得るべきと提案しているのではなく、単に各データポイントの定量的評価指標として有意義に利用できると考えている」としている。そのような憂慮がある一方、学習に有効なデータが欠乏している状況下でデータを追加的に集める段階においては、データ収集者(およびデータ提供者)にインセンティブを与えることで経済合理性を働かせてデータ収集業務を劇的に効率化させることが可能になるのではないだろうか。

論文紹介: "R-TRANSFORMER: RECURRENT NEURAL NETWORK ENHANCED TRANSFORMER"

https://arxiv.org/pdf/1907.05572.pdf

概要

Globalな情報はTransformerのSelf-Attentionで、Localな情報をRNNで取得するという手法の提案。Transformerは大域的な情報に強いものの局所情報はposition embeddingという限られた情報に依存しているため、これをRNNで代替/補強するというアイデア言語モデルで優秀な精度を記録。

手法

3つの異なるネットワークが階層的に配置されている。最下層はlocalRNNで、一定の幅を持つ局所ウィンドウをシークエンスの並びに沿って徐々に動かしていく。RNNはそれぞれの局所ウィンドウの中で実行される。中間層はmulti-head attention networkで、グローバルな長いシークエンスの依存関係を捉える。最上層はfeedforward networkで、非線形の特徴抽出を行う。これら3つのネットワークは残差とlayer normalizationによって結合される。 f:id:HealthcareIT_interpreter:20190821194915p:plain

結果

各データ(画像データ, 音声データ, 自然言語)それぞれについて従来の手法(RNN, GRU, LSTM, TCN, Transformer)と比較した結果いずれのデータにおいても最高の精度を叩き出した。R-transformerはRNNとmulti-head attention poolingの良いとこ取りと相互の弱点補完をしている。 f:id:HealthcareIT_interpreter:20190821195202p:plain

コメント

画像データには有名な手書き数字画像MNISTが用いられたが、28x28の画像を784x1のシークエンスに変換してシークエンスモデルに読み込ませている点は興味深い。MNISTはkaggleにもコンペが出ているのでR-transformerが従来型のモデルより高い精度を出せるのか試してみるのも面白そうだ。

論文紹介: "Towards Automated Machine Learning: Evaluation and Comparison of AutoML Approaches and Tools"

下記論文の紹介
https://arxiv.org/pdf/1908.05557.pdf

概要

Auto-MLを実現する各種ツールの機能と、様々なデータセットに対するパフォーマンスを調査したサーベイ

手法

各種データセットを独自の指標に基づいてセグメント分けして様々な比較をした。各種ツールのパフォーマンスを比較し、強みと弱みを炙り出した。

対象としたツール:

  • TransmogrifAI
  • H20-AutoML
  • Darwin
  • DataRobot
  • Google AutoML
  • Auto-sklearn
  • MLjar
  • Auto_ml
  • TPOT
  • Auto-keras
  • Ludwig
  • Auto-Weka
  • Azure ML
  • Sagemaker
  • H2O-Driverless AI

結果

ツールによって得意不得意があり(二値分類に強いけどマルチラベルに弱いなど)、また実行時間にも差がある。商用のツールは前処理やデータ構造の分析もサポートしていることが多い模様。 f:id:HealthcareIT_interpreter:20190820224404p:plain

コメント

AutoML系のツールを共通の指標で横断的に比較した研究はありそうで無かった。DataRobotが対象になっているのがありがたい。ところで(DataRobotの宿敵とされる)SAS Viyaは入ってなかったけどAutoML系ツールとして見なされてないのかな?