中国とAI

Pythonをベースにした機械学習本は、このブログの中でも何回も取り上げてきているものの、何冊も読んできて、だいたい傾向的なモノはだいたい似たり寄ったりだなぁというのを感じています。さらに言うと、方法論的なモノは所詮研究者には叶わないのだから、それをどう使うかを考えることが重要なんだよなというのしみじみ感じる今日この頃でございます。

 

ところで、以前読んだこの本に、ここ数年のDeep Learningの趨勢みたいなものがあり、Imange Netのコンテストで中国系のチームが上位を占めてきたというような内容がありました。 

scikit-learnとTensorFlowによる実践機械学習

scikit-learnとTensorFlowによる実践機械学習

 

 

それを裏付けるような記事も。(ちょっと古いけどね)

forbesjapan.com

 

最近でも、中国のAIのニュースは日本語だけでも結構流れてくるので、 

jbpress.ismedia.jp 

forbesjapan.com

 

前置き長くなったけど、この本を読んでみることにしてみました。

AI Superpowers (International Edition): China, Silicon Valley, and the New World Order

AI Superpowers (International Edition): China, Silicon Valley, and the New World Order

 

日本語のニュースだと監視社会とか、すこし違う方向性で語られることが多いけど、中の人から見るとどんな感じなのかというのを知りたいと思ったわけです。 

 

どうでもいいけど、最後の"the new World Order"ってのは、キッシンジャーのこの本を少し意識しているよね。

国際秩序

国際秩序

 

 

 

Nokia Withings Steel HRが故障した?

今年の2月から使っているNokia Steel HRですが、数日前の午後2時を最後にパタッとiPhoneNokia Health側と同期しなくなってしまいました。

これまでに全くなかった事象です。ひとまずググって、こんな記事などを参考にしてみます。

support.withings.com


iPhone側のBluetoothのオンオフを繰り返してみたり、Steel HRのFactory Resetをやってもダメ。Bluetoothのステータスを見ても、Steel HR C3はNot Connectedのままです。これはアプリ側から、連携をいったん削除して、再度新しいデバイスとして登録し直すしかないかなと思ってやってみたのが運の尽き。Nokia Healthのセットアップ画面でそもそもデバイスを認識してくれません。

・・・Steel HRのBluetoothユニットが逝ってしまったのでは?

という疑念が頭をもたげます。こりゃダメかなと半ば諦めつつサポートに問い合わせてみると、「サポートは日本語では行っておりません」というテンプレ丸出しのメールが返ってきました。なら日本語のサポートページ作るなよと思いつつ、英語で問い合わせて海外に送れとか言われるのも面倒だなとか、価格的に元は取ったな(弊社は1日当たりの歩数の基準を満たすと3ヶ月に一度ちょっぴりお小遣いが貰える!)なんて事が頭をもたげ、40mmモデルに乗り換えることにしました。

仕事帰りに店頭受取でモノを受け取り(こういう時は本当にアクションが早いw)、セットアップをしようとNokia Healthを開いて、Timelineを見てみるとおかしな事に気がつきました。Steel HRから連携される歩数が出ないのは当たり前だとしても、今回の件とは関係のないBodyscaleから連携される体重自体も更新が止まっています。Webで見るときちんと最新の体重まで記録されているにもかかわらず。。。

これは!まさか。。。とNokia Healthアプリをいったん削除して再インストールと直るかも知れないと思って試してみると、故障したと思った個体も問題なく認識できるようになりました。ぐぬぬ。ちょっと無駄遣いしてしまったかも。

最近iOS12にアップグレードしたことなども影響しているのかも知れませんね。

・・・ということでお買い物は慎重にねw

ドメドメな環境に飽きてきた

今日のネタは技術ブログらしからぬ感じ。

 

日本に帰国して早5年。日本に見向きもせず仕事の全てを英語でやっていた頃が遠い昔に感じる今日この頃。日本語だけでコミニュケーションすればいい(※1)のは楽と言えば楽だけど、何だか物足りない。

 

そんな中、先日新宿を散歩していて、ふと洋書店に立ち寄って、「買ってくれオーラ」を出していたこの本を買ってみました。

 

 

The Culture Map (INTL ED): Decoding How People Think, Lead, and Get Things Done Across Cultures

The Culture Map (INTL ED): Decoding How People Think, Lead, and Get Things Done Across Cultures

 
異文化理解力――相手と自分の真意がわかる ビジネスパーソン必須の教養

異文化理解力――相手と自分の真意がわかる ビジネスパーソン必須の教養

 

 

買ったのは上の方ね。下の本は、上の本の日本語版だと思ったんだけど、発売日からして別の本かも。

 

この三連休に最初の章を読んでみたんだけど、あるある過ぎて一気にのめり込んでしまいました。多文化な環境で仕事するときのあるあるがスッと理論的に腹落ちして行く感じ。

 

例えば、中国で仕事しているときは、ボスはドイツ人、同僚はほぼ中国人だったんだけど、中国人の同僚から、こんな事を言われました。

 

中国人「ボスのやり方は理解できない、お前は同じアジア人だから分かるだろ?」

 

・・・え?君たちの考え方もかなり欧米寄りだと思うんだけど。と、心の中で呟きつつ、

 

自分「そ、そうだね…」

 

と、返したのを覚えてます。Negative feedbackの仕方がとても直接的なドイツ人、その正反対な日本人(自分)。中国人はその間、やや日本寄りなポジションにいるので、中国人から見ると、「お前なら分かるだろ?」になるけど、日本人から見ると「お前ら、どっちもどっち」と感じると。印象というか感情は、相対的な位置関係で決まると本の中で言われると、確かにそうだなと納得。

 

そんな懐かしい日々を思い出しつつ、Linked-inで元同僚がバンバン出世しているのを見るにつけ、このままではいけない気がすると思う今日この頃でございます。

 

とは言え、ノスタルジーに浸ってるだけでアクション起こさないのはおじさんになった証拠かな。

 

※1 たまにオフショアの中国人とやりとりするけど、今やりとりしている某社は、日本語人材なので、本当に英語を使う機会がない。

 

anacondaの再インストールの話

これにとんでもない落とし穴があったという話を記録のために残しておきます。

結果から言うと、これはダメでした。Pythonが3.6系になり安心していたのですが、後日データをいじり始めたら、とんでもないトラブルが待っていました。

いつものように、Numpyをインポートして、行列を作ろうとしたら・・・。

>>> import numpy as np
>>> x = np.array([1, 2, 3])

AttributeError: 'module' object has no attribute 'array'

「ファ!?」ってリアルで声上げてしまいました。NumPyにarrayがないってあり得ないでしょ。と思って、StackOverflowなどを調べて見ると、Numpy.pyのファイルが複数ある(認識されている)ということらしい。ということで、anacondaをアンインストールして再インストールすることに。

参考にさせていただいたのがこちらの記事。

ai-coordinator.jp

anaconda-clearnを実行するだけでも、いろいろ起動できるので、anacondaフォルダを削除することに。この記事ではHome直下とあるけど、自分のMacのフォルダを調べると、Home直下にanaconda3 というフォルダが1つ、さらにUsersの自ユーザの直下にanacondaとanaconda3というフォルダが存在しており、それら3つを全部消して再インストールしたことで、ようやく問題解決。なお、PATHの削除の部分は、後で再インストールするのでいじってません。

ようやく環境がきれいになり、当初の目的通りPython 3.6.5でゴニョゴニョ出来るようになりました。

めでたしめでたし。

オライリーのPython & 機械学習本が渋滞気味なので整理してみた

初めて目次を付けてみました。

新刊本絶賛渋滞中

オライリーPythonベースで機械学習を取り扱っている本の出版(日本語翻訳化)の勢いはすごいですね。これを書いている今日(2018/8/17)もこの本が発売になり、早速入手しました。

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

半ば反射的に買ってしまう自分も自分ですが、同じオライリーでも似たような本が立て続けに出ており、ブームが終わる前に出せるだけ出しておけという空気を感じなくもありません。

権利関係の話はよく分かりませんが、日本語版のオライリーの本を分類してみると、

  1. 英語版もオライリーレーベルで出しているもの
  2. 英語版では別レーベルだが日本語ではオライリーレーベルになっているもの
  3. 日本語版がオリジナル

これらが一緒くたになってオライリーを名乗って出版されるので、どの本を読めば良いのか分からなくなって、私みたいに全部買うバカも出てくる訳ですね(苦笑)。

ということで、自分なりに整理してみようというのがこの記事の意図です。一応、どっちが良いかというコメントを書いているものもありますが、本の合う合わないは個人差があるので、あくまで参考程度にとどめて下さい。

機械学習の王道部門

いわゆる「機械学習勉強したいんだけど、何か良い本ない?」と聞かれたときに、候補になりそうな本ですね。このブログでも何回か取り上げられているはず。ノミネートはこの2冊。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

scikit-learnとTensorFlowによる実践機械学習

scikit-learnとTensorFlowによる実践機械学習

個人的には機械学習デビューのきっかけを作ってくれた前者も大好きなのですが、どちらか1冊を勧めてくれという話になるなら、前半はscikit-learn、後半はTensorflowという構成になっている後者の方が良いかなという気がします。あと、Githubリポジトリになるオマケが充実しているので、とりあえず触ってみたいという人にとっては、この1冊で十分だと思います。

Numpy, Pandas, Matplotlibなどの基本がやりたい部門

前段で取り上げたscikit-learnとTensorFlowによる実践機械学習のオマケも相当充実しているので、それでも十分事足りると思いますが、それでもNumpyとかPandasのデータ処理の基本を押さえておきたいという場合に候補になる本です。

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理が2012年の第1版で止まっていたなら、Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習の一択かなというところだったのですが、第2版が出てPython3.6対応になったところで、甲乙付けがたくなりました。前者はpandasの開発者の著作なので、pandasが重めですが、時系列データの扱い方とか、むしろ知りたかったところに手が届くという意味で前者を推したい。

日本オリジナル部門

オライリー本は英語からの翻訳だけではないよねということで、日本オリジナル本を上げてみたいと思います。これは甲乙付ける感じではありませんが。

ゼロから作るDeep Learning ? ―自然言語処理編

ゼロから作るDeep Learning ? ―自然言語処理編

この2冊は、ライブラリに頼らずにきちんと理論的な所を理解しようよという、エンジニアには嬉しいアプローチ。特に前者にはディープラーニング関連の本が日本語化されていない頃に、この本を見て意図を理解するという事を繰り返していたので、神棚に飾っておきたいぐらいの本です。(神棚じゃなくて普通に本棚に置いてありますが)
仕事ではじめる機械学習

仕事ではじめる機械学習

日本オリジナルという意味で、この本も忘れてはいけないですね。実務で機械学習に触れるという観点で書かれているPractioner(実務家)向けの本だと思います。

keras部門

オライリーには長らくkerasを扱った本が見当たらなかったので、比較という意味ではオライリー以外の本を持ってくるしかありません。

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

PythonとKerasによるディープラーニング

PythonとKerasによるディープラーニング

前者は読み始めたばかりですが、kerasという意味ではkerasの開発者が書いている後者の圧勝ですね。ただ、直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピの比較対象という意味では、kerasは使っていないものの、内容の比較対象としてはこちらが近いかも。
実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム (オライリー・ジャパン)

実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム (オライリー・ジャパン)

Pythonの基本部門

最後に、Python自体を勉強したいんですけどという場合の本を2冊。Pythonの入門自体も本が多いものの、敢えて中級者向けの本を挙げてみました。

入門 Python 3

入門 Python 3

Fluent Python ―Pythonicな思考とコーディング手法

Fluent Python ―Pythonicな思考とコーディング手法

前者は、このブログで写経シリーズで完走しているので、そちらを見ていただいた方が早いかもしれません。後者はPythonにおけるバイブル。両者とも、内容的に少し古くなりつつあるというか、Python自体にアップデートがかかっているので、最新の情報はwebで追いついておいてねというコメントになるかと思います。とは言え両方とも、機械学習の基礎のためというのであれば、too muchな感じでしょうか。

長くなりましたが、機械学習を楽しみましょう。