Hatena::ブログ(Diary)

shi3zの長文日記 RSSフィード Twitter

2018-01-18

仮想通貨の矛盾 もしくは、一体無価値であるはずの仮想通貨はどんな価値を代替するのか 08:21

 年初から仮想通貨の暴落が止まらない。止まらないと思ったらまた上がる、の繰り返しである。


 さて、仮想通貨・・・という言い方は好きではないが、VR=仮想現実感という誤訳(Virtual != 仮想)と同様、すでに普及してしまった言葉を覆すのは難しいのでここではいわゆる暗号通貨を仮想通貨と呼ぶことにするが、その価格が上がったり下がったりしていることを奇妙に感じる人は少なくない。


 ちなみに今下がっているのはもともと想定されていた動きで、昨年200万円を超えたビットコインを昨年中に利益確定すると雑所得の対象になるので、年明けに一度利確する動きがあることは予想されていた。


 仮想通貨はバブルであるという人もいるが、もし仮にそうだとすれば、MUFGがなぜ自ら仮想通貨を発行すると決めたり、主要銀行が長期的に人員削減の方向に動いているかということを説明できない。


 いまのところICOは詐欺まがいのものが少なくないが、これは株式市場が出現したときとほとんど同じで、我々人類は新しい道具である仮想通貨やその基盤技術であるブロックチェーン(分散台帳)をまだうまく使いこなせていないだけだと考えられる。


 テレビを見ていて、福岡のヒーローショーの会社が100万円の融資を一度断られ、次にマネーフォワード経由で申し込んだら5%の金利で通った、というエピソードを見て衝撃を受けた。


 普通に考えると、100万円に困っている人は商売をするべきでない。100万円ないと新しいヒーローショーのスーツが作れない、という理由だったが、100万円使ってヒーローショーのスーツを作るのならば、売上を105万円以上つくれないとならない。むしろ100万円借りる方法を考えるよりもスーツを安くあげる方法を考えるべきだろう。しかもマイナス金利の時代に5%は破格の高さだ。


 都内の会社が銀行に100万円の融資を申し込むとしたら、むしろ経営基盤が脆弱とされてその他の資金を引き上げられてしまう可能性の方が高い。


 経営の常識で考えると、たとえば「スーツを作るのに100万円必要だから100万円貸してください」という借り方をするのではなく、「スーツを作ったり、新人を教育したり、宣伝活動をしたりするのに諸々あわせて1000万円必要だから長期で1000万円貸してください」という借り方をすべきなのだ。


 仮にも会社なわけだから、個人がクレジットカードで買い物をするみたいに、「今アレが欲しいからローンで」という感覚ではまずいのである。というかなんなら100万円のものをローンで買うならクレジットカードでも賄える(金利は高いけど)。


 いま、銀行から1000万円を借りた時の金利はたぶん1.5〜2%くらいになる。優良企業ならもっと低い金利で借りることが出来る。


 なぜたくさん借りたほうが金利が安いのかというと、結局どんな仕事にも最低限のボリュームというのが必要で、たとえば「バイトしよう」ということになったときに、時給1万円でも一ヶ月に1時間しか働けないバイトの場合、そのバイトしかしてなかったら月給1万円になってしまうわけで。それでは生活できないから他の仕事を探そう、ということになる。


 銀行にとって100万円の2%である2万円の手数料(利息)しかとれない仕事に優秀で給料の高い銀行員をアテンドするというのはかなり効率が悪い。だから通常の倍以上の金利(5%)なら引き受けてもいい、という発想なのかもしれない。


 一見、全く無価値に見える仮想通貨の持つ価値というのは、まさしくこの点にある。


 銀行が生み出す価値は実質的にはゼロである。しかし銀行員には高い給料を支払わなければならないし、金庫は厳重に守らなければならない。


 そこで、まず一般の預金者から預金を集めたり、日本銀行からお金を借りたりして、資金を集め、集めた資金を銀行が選んだ企業に融資する。融資された企業は利息を乗せて返済する。その利息で銀行は濡れ手に粟を手にする。


 銀行が他人から集めた金を、選んだ企業に融資することを「価値創造」と呼ぶ。


 銀行はまさしく「どの企業にいくら貸すべきか」という判断をすることによって本来無価値だったはずの価値を産んでいる。価値創造とはよくできた言葉だ。


 銀行が貸付先の企業を「選ぶ(査定する)」機能がなければ、銀行システムは成り立たない。そして我々は間接的にこの銀行システムに莫大なお金を払っているのだ。


 銀行の原理をまとめると、A)預金を集める B)預金を守る C)貸付先企業を選ぶ D)企業からの利息でシステムを維持する ということになる。預金を守るために利息をとる、という仕組みが大前提にある。


 ブロックチェーンが可能にしたのは、このうち、AとBの機能を分散し、激安にすることだ。

 クローズドな台帳を厳重な鋼鉄の扉で守るのではなく、むしろオープンに分散することで人手を介さず守ることを可能にした。


 ブロックチェーンではBの機能を実現する人をマイナー(採掘者)と呼び、Aの機能を実現する人を取引所と呼ぶ。


 AIによって仕事がなくなるよりも前にブロックチェーンというもっと単純な仕組みによって銀行業務の半分がなくなりつつある。


 仮想通貨は全く無価値のように見えるが、むしろ世界のあちこちにある銀行の支店の機能を代替することが期待されるもので、実際にその価値がいくらなのか、ということを頑張って探っている段階なので乱高下している、というのが正しい認識ではないかと思う。


 仮想通貨が十分落ち着くのは、街から銀行の支店が消え失せ、コンビニからATMがなくなってからだろう。


 第二次大戦後、事実上アメリカの占領下にあった日本は、360円=1ドルという固定相場制を強要されていた。1971年にアメリカのニクソン大統領がドルと金との交換を一時的に禁止(金本位制の崩壊)し、変動相場制が導入されると、一気に円高が進行した。


https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/JPY-USD_1950-.svg/700px-JPY-USD_1950-.svg.png

出典:Wikipedia https://ja.wikipedia.org/wiki/ニクソン・ショック


 もちろん円高が進行しながらもなんどか大きな変動を重ねながら今の相場に落ち着いている。

 

 円の場合、少なくとも日本国内にいるときにはあまりそれが何ドル相当なのかは意識しない。


 仮想通貨の場合、仮想通貨だけで購入可能なものがまだとても少ないので実際の価格がいくらなのか測りかねてるというのが現状だろう。


 たとえばビッグマック指数というのがあって、これは各国でのマクドナルドのビッグマックの価格を基準に経済を図ろうとする試みである。

 

 仮想通貨だけで成立している国がいまのところないので、ビッグマック指数みたいなもので比較することは難しい。


 海外によく行く人はわかるが、為替変動というのは実際には貿易に大きな影響を与える。

 ところが仮想通貨の場合、「誰と何の貿易をしているのか」が非常にわかりにくい。


 したがって仮想通貨は過度に投機的だったり、極端な振れ幅で変動したりするし、仮想通貨で一儲けしようと企む人は意図的に情報操作して不安を煽って価格を下げたり、またじっとして値段を釣り上げたりということを繰り返す。


 仮想通貨の場合、なぜこんなにボラタリティが高いかといえば、まだまだ参加人数が少ないからだと思う。ごく僅かな情報で乱高下するのは、少数のパニックが全体に波及しやすいことを示している。


 そして仮想通貨の適正な価格というのは未だによくわからない。

 ハッキリしているのは、価格をあげたい人、下げたい人は以下のように分類ができるということ


  • 価格を上げたい人  : マイナー 以前からの保有者
  • 価格を下げたい人  : これから保有したい人 買い増ししたい人
  • 価格を変動させたい人: 取引所
  • 価値をゼロにしたい人: 国民を経済的に支配したい国家

 ビットフライヤーとかコインチェックとかが、やたらとビットコインの価格変動を一日何回もメールしてくるのは、価格が変動して投資家があたふた売り買いすれば手数料が入るからだ。彼らにとっては無価値にさえならなければ仮想通貨が上がろうが下がろうがどっちでもいい。できるだけ派手に動いて色んな人が売ったり買ったりしてくれればそれでいい。


 ここには4つのプレイヤーを挙げたが、みればわかるように、長期的に見て仮想通貨の価値を下げたい人というのは古くからのやり方で経済を支配したいと考える一部の全体主義国家しかない。いわゆる自由経済国家ではそもそも国家による完全な経済支配というのはほとんど不可能なので、全体をみると仮想通貨の価値をゼロにしたいというモチベーションを持っている人はいないことがわかる。


 自由主義経済圏で一番仮想通貨から被害を受けるのは銀行のはずだが、銀行が仮想通貨を無価値化することはどんな手段によっても不可能に思える。JPモルガンのようにトップがみずから風説をながして下がりきったところを買う、みたいなイレギュラーな手段を除けば、やはりこれはほとんど不可能と考えるのが正しいだろう。


 たとえ一時的に価格を下げたいと思う人が居たとしても、その理由は長期的には価格が上がることを期待しているからで、むしろ価格が下がり続けたら困るのである。


 一方、銀行が持つ企業への融資の機能は仮想通貨だけでは代替できない。それをやろうという試みがICOである。


 ICOの原理はシンプルで、独自の仮想通貨を作り、それを一般に流通している仮想通貨と交換可能にするだけだ。「独自の仮想通貨」はブロックチェーンを使っていなくてもいい。


 未公開株のIPOとちがい、誰でも無審査でできるのでこれで詐欺まがいの事件が起きるのは必然である。

 これに関しては早急に行政などが介入して法整備を進めないと、せっかく生まれつつある企業にとっての新しい資金調達の選択肢が狭まることになる。


 ちなみにビットコインを一種の有価証券(実際には国内法では貨幣と見做されているので違う)と見なすと、この乱高下は株式市場ではよく起きていることだと認識できる。株式と違って発行主体がいないのでビットコインがこれからどうなるか、見通しが立たないことからニュースひとつで価格が乱高下するというのも(他人事としては)面白い。


 既存の銀行が仮想通貨に対抗するには、自分自身も仮想通貨を採掘するのが一番遠回りなようで近道なのではないかと思う。銀行は外貨を準備するのと同じ感覚で仮想通貨を採掘し、交換所の機能をもつべきだ。


 ICOに関しても、銀行なりが承認したICOなら、或いは一定の信用が置けると判断できなくもない。いまのICOはだいたい怪しすぎるので、その会社を信用していいのか悪いのかすら素人には判断できない。


 仮想通貨によって銀行業務がまるごとなくなることは当分ないと思うが、銀行がいちはやく危機感を感じているのは事実だろう。


 ICOによる調達は一時的なものなので、長期的に考えると、銀行が自ら採掘したビットコインを融資する、という日もそう遠くないかもしれない。

2018-01-17

投機的実行とアクセラレーション・ブーストについて 09:26

グーグルのリリースによると、「性能を向上させるために、ほとんどの現代的なCPUに使われている『投機的実行(speculative execution)』という手法に重大なセキュリティ上の欠陥がある」のが問題だという。

投機的実行とは、CPUが全体としての情報処理速度をあげるために使う手法である。特定の情報処理を、実際に使う段階になって行うのではなく、使うか使わないかまだわからないが、使う可能性が出てきた段階であらかじめ処理しておき、必要になってから実行することに伴う遅延を防ぐのだ。

やや専門的になるが、投機的実行をする際には、本来メモリに厳重に保管してある重要な情報を取り出して、ハードディスク上などに設けた「仮想メモリ」に持ち込み、そこで「アクセラレーション・ブースト」と呼ばれる処理速度の加速をかける。たとえるなら、監視・警戒が厳重な金庫室から、共同作業部屋に大切な機密ファイルを持ち出して作業をするようなものだ。


米グーグルのハッカー集団を震撼させた「インテル問題」の深刻度(町田 徹) | 現代ビジネス | 講談社(2/3)

http://gendai.ismedia.jp/articles/-/54143?page=2


 まあこの説明がデタラメ過ぎて笑うわけだが、ソーカル事件を振り返るまでもなく、人文系の人が唐突に専門的な話をしようとすると自分自身も混乱しているのでデタラメな内容になってしまって恥ずかしいから気をつけよう。


 よくわからない人のために、果物屋さんにバナナかりんごを買いに行く太郎くんの例で最後のパラグラフと同じ内容を書いてみよう。


やや専門的になるが、太郎くんがバナナかリンゴを買いに行く際には、本来、果物屋の倉庫に厳重に保管してあるバナナを取り出して、店頭上などに設けた「仮想メモリ」に持ち込み、そこで「アクセラレーション・ブースト」と呼ばれる購入速度の加速をかける。たとえるなら、監視・警戒が厳重な金庫室から、共同作業部屋に大切な機密ファイルを持ち出して作業をするようなものだ。


 だめだ。支離滅裂だ。

 ちなみに太郎がバナナを買いに行くことを「投機的実行」するというのはどういうことか。

 この場合、投機的な実行をするCPU役は果物屋ということにしよう。

 まず、投機的でない実行を見てみよう。

1.太郎が「いまから買いに行きます」と果物屋さんに電話をかける

2.太郎が店頭に来る

3.太郎がバナナを注文する

4.果物屋が倉庫に行く

5.バナナを探す

6.倉庫から店にもどる

7.代金と引き換えに、太郎にバナナを渡す


 まあ普通である。

 電話をしたにも関わらず、何を買うかいわない太郎と、電話を受けたにも関わらず注文を聞かない果物屋にイライラするかもしれないが、これは例え話なので目をつむっていただきたい。


 問題は「倉庫」を行ったり来たりするのがかなり面倒であるということ。コンピュータでいえば、これは命令をメモリから読み出したりすることを意味する。


 一般的にCPUに比べるとメモリは信じられないくらい遅い。アリとピューマくらい遅い。最近のプログラムの高速化というのは要はめちゃくちゃ遅いメモリとそこそこ速いメモリをどう管理するかということに尽きる。


 そこで、メモリ読み出し(倉庫への往復)を短縮するために太郎が来るとわかった時点で必要そうなものは全部持ってくる。これが投機的実行である。


 投機的実行をする果物屋の行動パターンは以下のようになる。

1.太郎が「いまから買いに行きます」と果物屋さんに電話をかける

2.果物屋さんは太郎が来る前に倉庫に行き、バナナを店頭に持ってくる(投機的実行)

3.太郎が店頭で「バナナ」を買う


 ただし、太郎が気まぐれで「やっぱり今日はリンゴがいいな」と思ったら、手間は余計にかかることになる


1.太郎が「いまから買いに行きます」と果物屋さんに電話をかける

2.果物屋さんは太郎が来る前に倉庫に行き、バナナを店頭に持ってくる(投機的実行)

3.太郎が店頭で「リンゴ」を注文する

4.果物屋が倉庫に行く

5.リンゴを探す

6.倉庫から店にもどる

7.代金と引き換えに、太郎にリンゴを渡す


 投機的実行というからには失敗もある。もちろんこの精度を上げるような工夫はされている。実際、プログラムを実行する場合は高い確率で次になにが選ばれるのか(バナナかリンゴか)は決まってるし、仮に失敗したとしても時間のロスは少ない。


 町田徹という人の記事で、なぜか唐突に「ハードディスク」が出てくるのは、仮想メモリという言葉とこんがらがってしまっているのだろう。


 今回の脆弱性は、仮想記憶に関するもの(Intelに固有)と、投機的実行に関するものの2つがある。ワケて考えないといけないのだが、冒頭の記事ではこんがらがって説明しているのでなにがなんだかわからない。


 Virtual memory=仮想記憶という誤訳は日本IBMがしたものだが、もはや一般に広まってしまっているのでここではそのまま使うとする。


 一般に仮想記憶はCPU(より正確にはCPUに内蔵されたMMU;Memory Management Unit)で実現される機能だが、投機的実行とは何の関係もない。町田さんとやらが想像力を働かせて聞きかじりの言葉を使ってしまったんだろう。


 仮想記憶はコンピュータのヒープメモリ(RAMとも呼ばれる)が一杯になったときに、ヒープの一部をハードディスクに退避し、物理的には存在しないヒープを実質的に(本来のvirtualはこの意味)拡張するという機構だ。


 仮想記憶の実現には、芸術的と言っても良いCPUアーキテクチャの貢献がある。仮想記憶システムが実現するもう一つの重要な機能が、「特権管理」である。


 特権管理とは、メモリの特定の領域を特別なプログラムしかアクセスできないようにする機構で、ウィルスなどに対抗する際に非常に重要だった。通常、アプリケーションはOSの使うメモリ領域にアクセスすることができない。そのように特権が管理されているからだ。OSのメモリにアクセスできてしまうと、基本的にはウィルスはなんでもできてしまう。知らないうちにOSが書き換えられていることさえもある。


 今回の仮想記憶の脆弱性はこの特権管理を回避できてしまうという、かなり深刻なものだ。これはパッチである程度回避できると言われている。


 もうひとつの、投機的実行の脆弱性というのは、たとえば果物屋の客が太郎だけなら良かったのだが、果物屋の客は太郎だけというわけにはいかない。もう一人の客、花子が悪意を持っていたらヤバイ、という話である。


 太郎は自分がバナナを買うかリンゴを買うかを知られたくない。しかし、果物屋が店頭に持ってきてしまうと、花子に盗まれる危険性がある。


1.太郎が「いまから買いに行きます」と果物屋さんに電話をかける

2.果物屋さんは太郎が来る前に倉庫に行き、バナナを店頭に持ってくる(投機的実行)

3.太郎が店頭で「リンゴ」を注文する

4.果物屋が倉庫に行く

5.リンゴを探す

6.倉庫から店にもどる

7.代金と引き換えに、太郎にリンゴを渡す

8.花子は店頭に置かれたバナナを盗む


 ここではバナナ、リンゴがデータである。本来、コンピュータのプログラムというのはプロセス(たとえば花子と太郎)ごとにまったく別のプライベートなデータ管理をする必要がある。


 しかし今のコンピュータは複数のプロセス(アプリと理解してもいい)が同時に動くのがあたりまえで、データセンターなどでは複数の人が一つのCPUを共有していることすらあり得る。


 つまり、簡単にいえば、怪しいアプリを実行していると、同時に実行している他のアプリに隠してある情報を盗まれる危険性があるということだ。


 投機的実行がはあらゆるCPUに使われているので、ここのところの抜本的な対策がとられないと非常に困る。

 それで世界中大騒ぎになっているというわけである。


 たとえばLINEの会話やメールの内容などが盗まれる可能性がある。しかもこれはMacやPCに搭載されているIntelのCPUだけではなく、AndroidiPhoneで使われているARMにも影響があると言われている。まさにセンテンス・スプリング。この場合、できるだけ怪しいアプリは使わないようにすること、くらいしか対策がない。


 ただ、iPhoneやAndroidのCPUで仮にこの脆弱性を突いたとしてもいますぐどうこうという話にはならない。それなりに難しい話であり、よほどのモチベーションがなければこうした脆弱性を利用した悪意あるソフトを作ることは難しいのではないかと思う。まあ世界中の情報機関が喜々として作ってそうではあるが。


 ちなみに謎の必殺技「アクセラレーション・ブースト」については謎のままである。日本語に訳すと「加速ブースト」。まるで「マッシュルームキノコ」のような不思議な味わいのあるパワーワードだ。


 もっと細かいことが知りたい人はここ


http://milestone-of-se.nesuke.com/nw-advanced/nw-security/meltdown-spectre/

CPUの脆弱性[Spectre], [Meltdown] は具体的にどのような仕組みで攻撃する?影響範囲は? | SEの道標

テクノロジーについて 08:21

 藤沢数希のポエムが炎上してる。

 ポエムが炎上するって凄いよね。


 ちなみに昨年iPhoneXが発表された時にEngadget 日本版で一番読まれたのが僕のポエムらしい。それを聞いて昨年の忘年会ではわざわざ現地入りしてレポートを書いた本職のITジャーナリストたちが「コタツ記事じゃねえか!」と憤慨してたらしい。


 しかしな諸君、もはやスマホのレポートなんてポエムとしてしか書けないと思うのだよ。ワインのテイスティングレポート同様、スマホの違いなんてほとんど普通の人にはわからない。僕だって、矢崎飛鳥(Engadget日本版編集長)に頼まれなければわざわざ起きて書かないよ。


 さて、ITジャーナリストの方々の中には、自分の記事をポエム呼ばわりされると怒る人もいるらしいのだが、ちょっと待って欲しい。ポエムというのはあらゆる文章の中でもっとも芸術的なものだ。むしろ自分で詩人であると名乗るのはおこがましくても、自分の感じたこと、想像したことを豊かな言葉で表現して伝えるというのはかなりの超絶技巧であるはずだ。たとえそれをポエムと呼ぶ人が居たとして、なにを恥じることがあるだろうか。


 ただ、藤沢数希のポエムが炎上しているのは、面白いくらい矛盾しているからだ。引用してみよう。


僕は基本的にテクノロジーを全く信用していません。着るものは、綿でできたシャツにカシミアのコート、革の靴。好きな食べ物は上質な牛肉に赤ワイン…。楽しいことは恋愛、幸せを感じるの家族団欒。すべて1000年以上前からあるものばかりだ。テクノロジーはぜんぶまがい物です。

https://twitter.com/kazu_fujisawa/status/952114495341543424


 というセリフをテクノロジーの権化であるTwitterで書いてネットで世界に配信しているという矛盾が面白いので大喜利が始まってしまった。


 ちなみに僕はどちらかというと藤沢数希は「テクノロジー」という言葉が好きだと思う。

 彼はテクノロジーという言葉に過度の愛着があって、ふつうに考えたら「それはテクノロジーじゃないだろ」ということまで「テクノロジー」と呼びたがる。彼の主張する恋愛工学などはまさにそう。単なるナンパテクニックをテクノロジーと呼ぶくらい、テクノロジーという言葉にロマンを感じているのだと思う。


 テクニックとテクノロジーは当然、違う。テクニックは属人的なものであり、使うためには訓練を要する。テクノロジーは普遍的なツールを構築する方法論であり、そのツールを適切な手順で使えば誰でも同じ結果を得ることが出来る。


 僕が数学を愛しすぎて憎んでいるのと同様、藤沢数希もテクノロジーという言葉(と藤沢数希の独自解釈)にロマンをいだきすぎてとりあえずツンしてみたくなったのだろう。


 もっとも「テクノロジーはぜんぶまがいもの」とまで言わなければここまで炎上しなかったんじゃないかな。


 人間はテクノロジーによって進化してきた。

駅弁ひとり旅 : 1 (アクションコミックス)

駅弁ひとり旅 : 1 (アクションコミックス)

 この1000年の間に発明されたものは数多い。20世紀のコンピュータやラジオ、テレビは言うに及ばず、物理学(19世紀)、微積分(17世紀)、紙とペン(16世紀)、ペニシリン(20世紀)、鉄筋コンクリート(19世紀)、発電所(19世紀)、ちなみに藤沢数希が1000年以上前からあると主張しているワインも、たしかに存在はするが、ブルゴーニュでワインが始まったのが11世紀、それがフランスで普及したのは17世紀であり、ボルドー5大シャトーがうまれたのも16世紀なので、それを外すとすると藤沢数希が飲んでるワインはかなりの確率で二級品であることが伺える。


 当然ながら15世紀以降のワインはまさしくテクノロジーの産物であり、さまざまな醸造家が試行錯誤を繰り返して安定した品質を保つよう数百年に渡る努力を積み重ねている。それをまるきり無視して「好きなものはワインだからテクノロジーはまがい物」と断定するのはワインに対しても失礼だろう。


 テクノロジーの凄いところは、その存在を意識に登らせないところにある。

 普段、朝起きて風呂にはいるときに「テクノロジーすごい」とはめったに思わない。朝起きて風呂にはいるときに思うことは「あーあ、今日も仕事か」である。


 これが実際にはテクノロジーの凄さだ。


 昔なら、風呂を焚くための奴隷なり家族なりが必要で、風呂に入っている間はたえず湯加減についてああだこうだ指示する必要があったはずだ。


 駅弁もテクノロジーの賜物である。

 

 駅弁にハマりすぎて駅弁漫画を夢中になって読んでいる。


駅弁ひとり旅 : 1 (アクションコミックス)

駅弁ひとり旅 : 1 (アクションコミックス)


 が、この漫画、古いせいもあるんだけど、どうも主人公が料理人のくせに味がわかってんだかわかってないんだかよくわからない。感想を見てもまるで味が伝わってこない。まあ漫画だからいいんだけど。


 もうひとつ気になるのは主人公がやたらジェットを使うことだ。ジェットというのは、駅弁にたまにある、紐を引っ張ると発熱して暖かくなる仕組みである。


 僕はジェットがあんまり好きではない。というか買ったことがあるのは一回だけかな。まず、嵩張る。発熱したあとは熱くなりすぎてすぐ食べれない。また、そもそも再加熱して食べるというのが弁当の美学に反している気がする、などの理由がある。


 弁当というのはコンパクトで冷めても美味しい、というのが大前提にあって、これがジム・カーナのような緊張感を産んでいると思うのだが、何でもかんでも一律に温めるジェットは、逆に弁当に制約が大きくなる。たとえば加熱して食べないもの、温泉卵とかいくらとかにとってジェットは邪魔だし、結局再加熱が前提になることによって弁当の表現の幅が狭まってしまう。


 それともう一つ、ジェットはテクノロジーとしては自己主張が強すぎる。


 「やってまっせー」という感じが鼻につく。そうじゃないだろ。もっと意識に登らないレベルで支えてくれよ。たとえば容器の素材を工夫してさりげなく保温性を高める、とかならいい。再加熱が前提の料理というのは料理を途中で放棄しているようであまり好きになれない。



 真のテクノロジーとはさり気なく、知らないうちに人々の生活をより良いものにしているべきだ。たとえばiPhoneに話を戻すと、iPhoneに追加される新機能というのは全てそういう意味では徹底して「さりげない」テクノロジーに終始している。カメラが2つ搭載されても、さり気なく拡大する。Face IDも、さりげなくロックを解除する。これは指紋認証も同じだ。



 僕は日常的に古いiPad miniと、iPad ProとiPhoneXを使っているが、Touch IDなしのiPad miniを使ってから指紋認証付きのiPad Proを使うとそのさり気なさに感動するし、同じ理由でiPhoneXのFaceIDには感動する。



 テクノロジーの恩恵にどっぷり浴している人が、テクノロジーの価値を意識できないほど生活に溶け込んでいるとすれば、それはテクノロジーの勝利と呼ぶ他はない。

 

2018-01-15

終わりの日と始まりの日 07:59

 最近、vloggerというのが流行ってるらしい。Youtuberと何が違うのかイマイチわからないんだけど、Youtuberがどちらかというと作り込み系のネタを頑張ってるのに対し、vloggerは文字通りブログのごとく自分の日常を配信している・・・のが違いなのかな。youtubeとツイキャスの違いというか。生主と歌い手の違い?



 おれが学生をやっていた頃、とにかく大学をサボりまくっていたので毎日が死ぬほど暇だった。暇にまかせて朝から晩までプログラムを書いて、まあ平日はバイトしたりして、週末は友達の家に集まって酒を飲んだり、その繰り返し。このルーティーンが3年くらい続いたんだけど、それでも暇だったのでWebに日記みたいなのを書き始めた。


 その頃、ようやくインターネットでも動画が扱えるようになってきて、仲間とくだらないビデオや歌を作ってWebで公開してゲラゲラ笑ってた。


 何が面白いのか自分でもよくわからなかったが、自分たちが公開したビデオを見て欲しいというよりは、自分たちがバカやってるところを公開していることそれ自体のシュールさにゲラゲラ笑っていた気がする。


 その頃のおれは自分がなにをして生きていくべきかハッキリとしたビジョンを持っているわけではなかった。今でも覚えているのは、その頃のおれのホームページに設置した掲示板に書かれた、もう誰に聞かれたのかわからないくらい昔のセリフだ。「あなたは表現者になりたいのか、それとも技術者になりたいのか、どちらなんでしょうか」


 自分を表現者だと思ったことがなかったおれはあまりに買いかぶられているのでこれを見てまたゲラゲラ笑ってしまった。表現者というのは実に大袈裟だと思った。その頃のおれは、好きなことをして毎日ゲラゲラわらって過ごしたかっただけだからだ。


 そして技術者になりたいか、という意味では、すでに技術者だった。目指したわけではない。ただ好きでやっていたら仕事になっただけだ。プロの世界の厳しさも甘さも、二周してようやくわかりかけていた頃だ。


 「表現者なんてとんでもない」 みたいに返したような気がする。


 それは大袈裟だ。飯を食えればいいというのが仕事の条件なら、おれはその頃すでにライターとしてもエンジニアとしても飯を食っていく自信はあった。でも表現者として食っていく、なんていうだいそれたことは想像もできなかった。




 子供の頃、僕が初めて形にしたソフトは、リアルタイム3Dライブラリだった。これも広い意味ではプロダクティビティツールである。なぜ作ったかといえば、それを自分が使ってスターウォーズみたいな世界をつくりたかったからだ。これを作るのに約10年掛かったが、今ならUnityでもっと高度なことが一瞬でできる。


 ニューラルネットも何度となく作った。何度となく作っては、あまりにも性能が出ないので持て余した。なんとかそれを使って実用的なツールを作りたくて試行錯誤を重ねるが、いつも失敗した。とにかく、ニューラルネットにはわかってないことが多すぎて、分かる範囲では実用的な性能が出るにはまだまだ時間がかかることはハッキリしていた。当時おれのコンピュータは8MHzの8086で、メモリは640KBしかなかった。今、わりとコンパクトに思えるGoogLeNetの容量は250メガバイトくらいだから、今振り返ればどだいそんな機械でニューラルネットを実用的に扱うのは無理な話だったのである。




 ゲーム業界に流れ着いたのは、たまたまである。子供の頃から本当は人工知能やOS、プロダクティビティツールの開発に興味があった。実はゲームはもともとあまり好きではない。嫌いではないが、めちゃくちゃ好きかというとそうではない。これはゲーム機を買い与えなかった父親の判断が正しいと思った。僕は特定のゲームには飽きるのが早い。だったらプログラミングしたほうが遥かに面白い。プログラミングは飽きない。無限の選択肢があるからだ。ゲーム業界はOSと人工知能とプロダクティビティツールを一人で作ることが出来る、稀有な場所だった。ゲーム機にはOSの機能がないので、メモリ管理やらファイル管理やらを自分で作る必要がある。つまり、OSに相当する部分だ。さらに敵の思考ルーティンはAIと呼ばれる。まさに人工知能「的」な部分だ。そしてステージを作ったりするためのプロダクティビティツールを内製するのが当たり前だった。やりたいことが全て仕事としてできるのはゲームプログラマーだけだったのだ。ここまで好きにできると、ゲームそのものはもはやどうでもよかった。


 それからなんとなく就職(?)して、エンジニアとして大いに稼ぎ、エンジニアとしての限界に気づいて企画職にジョブチェンジして、給料がそれ以上上がらなくなったので自分で会社を作ることにした。思えば流されるまま行き当たりばったりに生きていると思えなくもない。


 企画職にジョブチェンジしてさえ、プロダクティビティツールを作りたがったし、実際にいくつも作った。単にメンテを誰か他の人にやらせるだけで実質的にはやりたいようになっていた。ただゲームは突き詰めれば突き詰めるほど、AIの要素が薄くなっていった。ゲームを面白くするためにするべきこととAIを実現することがある時点から乖離していった。そういうことがわかった頃、おれはゲームプログラミングに関してだんだん醒めていった。確かにゲームは素晴らしい総合芸術だが、自分の人生を全て賭けたいほどではないと思うようになった。


 会社を作るときさえ受け身だった。会社を作ろうと言われるまで実際にはなにもしなかった。漠然と個人事業主として登録して仕事しようかなあ、くらいのものだ。のんきなものである。その頃、僕は友人から小さい仕事をもらって糊口をしのいでいて、アプリ開発一本15万円という、どこの昭和だよという価格帯の仕事をしていた。


 社名などその最たるもので、僕は社名を「自分で決めない」ことに拘った。自分で社名を決めると愛着がわきすぎてしまうことを嫌ったのだ。まだ経験したことがない、経営者になるというとき、社長として会社に極度に愛情を持って感が鈍ったりつまらないことに拘ることを避けたかった。もっといえば、社長にもなりたくなかった。いろいろな偶然と必然があって、社長になっただけだ。


 仕事も、プロダクティビティツールの開発をメインにしたかったが、結局は周囲は僕をゲームで成功した人間と見做していたから、なし崩し的にゲームを作る仕事が主軸になってしまった。ライスワークというやつだ。


 その代わり定款をつくるときには、人工知能の開発を行う、という項目を盛り込んだ。人工知能の実用性など、影も形もない頃である。もちろんかな漢字変換とかエキスパートシステムとか、人工知能応用技術と呼ばれる一連の仕組みは存在していたが、それを「人工知能」だと思ってる人はごく限られた人だった。厄介なのは、そのごく限られた人だけが「人工知能の研究者」を名乗っていた、という社会的な状況でもある。ぼくの認識では、それらは「人工知能へ至るプロセス」に過ぎず、プロセスはツールとは言えない。


 それから15年、きっと一生この会社をやっていくんだろうなと思っていた矢先(だからこそ当時影も形もなかった人工知能の開発を定款に入れたのだ)に、まさかの大転機が来た。しかしそれもまた必然的なものだった。


 今日、2018年1月15日は僕以外のほとんどの人にとってどうでもいい日だと思うが、僕にとっては15年勤めた会社から最後の給料が振り込まれる日であり、新たに創業した会社からの役員報酬が最初に振り込まれる日でもある。つまり、ぼくにとって終わりの日であり、始まりの日でもある。


 新しい会社は、古い会社とはなにもかも違う。

 まず、社名は自分で決めた。決めるプロセスにプロのネーミング屋とロゴデザイナーを入れた。彼の提案した中から自分で選んだ。


 もう僕は経営者として十分な経験を積んでいた。会社に自分で名前をつけたからって、過度に愛情を注ぎ込むほどの若さはない。


 そして事業としては、これまでずっとやりたくてもできなかった、人工知能のプロダクティビティツール化を専門的に行う。


 人工知能ということばをようやく使っても良い、と考えるだけの自信を持てるくらいの性能が、近年のコンピュータには備わっている。最大128GBのVRAMを使えるGPUが存在し、特定のタスクでは人間よりも高性能な視覚認識能力を備える。


 明らかに、これまでできなかったことができるようになってきている。それが今のニューラルネットで、そこには大きな可能性がある。


 新会社、GHELIA(ギリア)では、エンジニアの正社員、インターンを募集している。


 僕はいまの深層学習をやるのに、ニューラルネット専門知識や経験そのものはそれほど必要ないと考えている。むしろ必要なのはWebやインフラなど、どこにでもある普通のエンジニアリングができることだ。習うより慣れろの精神でこの世界に飛び込んでくる人を待っている。


https://ghelia.com

2018-01-14

駅弁はなぜ芸術的と思えるのか 16:26

 京王デパートで毎年恒例の「元祖有名駅弁と全国うまいもの大会」が開催されており、連日足を運んでいる。

第53回元祖有名駅弁と全国うまいもの大会 | 京王百貨店 新宿店

https://www.keionet.com/info/shinjuku/ekiben2018/


 個人的にはこんなにも日本に住んでいて良かったと感じるイベントは他にちょっとない。


 しかし、自分が駅弁にときめいていると話すと、大半の人々の反応は「へー(冷笑)」という冷ややかなものだ。


 確かに駅弁はジョエル・ロブションのディナーのようなものではないし、ランチとして見た時も游玄亭のランチのようなものでもないだろう。


 しかし駅弁の凄いところは、価格と保存性という制約を満たしながら、それぞれの地方の特色を出して「弁当」というひとつの小宇宙を構築するところにあると思う。


 駅弁は基本的にマスプロである。市販車レースのグループAのように、ある意味で暗黙のホモロゲーション規定がある。


 もちろん、金に糸目をつけなければそれなりに上手い弁当を作ることは可能だろう。しかしそうしたものはワンオフの一品物であり、競技性がない。高級食材を使えばいいというわけでもなく、もっといえば、味が美味ければいいという単純な話でもない。


https://i.gyazo.com/c90d1ce982db18d2aff60bb9eebd9995.jpg


 駅弁は、タイトル、パッケージ、そして中身の組み合わさった総合芸術であると考えられる。


 全国に散らばる駅弁マイスターたちが創意工夫を重ねて送り出すそれは、ひとつひとつが完結した宇宙であり、限られた予算の中で最大限のおもてなしの心が込められている。


 今年、一番感動した駅弁は「のどぐろサーモンいくら弁当」だ。のどぐろが美味いのはもちろんのこと、一番のポイントはご飯が昆布で炊いてあるところ。米が美味すぎて感動する。


https://i.gyazo.com/5de6c26c0fc81865e96ffd7b059f4cf0.jpg


 このイベントの凄いところは、こうした有名駅弁が実演で作られていることだ。

 できたてホヤホヤのまだ暖かい状態の駅弁を食べれる機会というのはそうそうなく、このお弁当もご多分にもれず、パッケージを開けた瞬間からホワッとのどぐろの香ばしい香りが鼻孔をくすぐってくる。


https://i.gyazo.com/f1a20f37d25ce0d157857d5a6982ca3d.jpg


 肉系で良かったのは酒乃蔵牛肉弁当で、酒粕の香りがするすき焼きと、わさび漬けで食べるステーキの絶妙な組合せ。これまたパッケージを開くとともにいい匂いが漂ってきて、癖になること間違い無し。

 

 ラスベガスもいいけど、やっぱり日本に居てよかったなあ。

 弁当は完全に日本文化なので、日本人はもっと弁当を誇るべきである。AMTRAK(アメリカ大陸横断鉄道)には駅弁はない。


 駅弁こそが日本が様々な個性を持った多様性のある人々が集まった国であることを象徴する叡智の結晶なのだ。


 ちなみに来週はこれがある


東京ドームシティ公式サイト | ふるさと祭り東京 日本のまつり・故郷の味

https://www.tokyo-dome.co.jp/furusato/


 去年も行ったけど、まあ美味いものが全国から集まっててマジ感動する。こんなに美味しくも楽しいイベントばかりでいいのだろうか。


 東京に住んでてよかった。東京最高。

2018-01-12

Kerasコードのモバイル開発にPlaidMLは必携! ついにconv2d_transposeにも対応 09:35

 去年の暮からメインマシンをMacBookPro(タッチバーなし)に変更した。

 

 理由は、もともと使っていたMacBookAirがいよいよ4年くらい経ってポンコツ気味になってきたので、MBAは会社常駐マシンに格落ちさせて新規にMBP13インチを買ったのだ。


 今の世代のMBPの使用感はあまりよくない。ただ、恐れていたキーボードに関しては、むしろ昔のキーボードよりも良くなってると感じる。浅いキーストロークに最初は戸惑うが、コレに慣れてしまうとむしろフルストロークのキーボードは指の動きを無駄に長くしていたことに気づく。浅いほうが疲れにくい気がする。


 使用感がよくないのはUSB-Cのせいだ。充電も外部出力もUSB-Cに統一されてしまい、MacBookならどれも何も考えずに使えたSDカードスロットがなくなってしまった。iPhoneの充電も一度アダプターを通さなきゃならないし、相変わらずAppleの美学は無駄を強いる。


 まあそうなんだけど、トータルではやはりMacBookはいい。それなりに薄いしそれなりに軽いしそれなりにパワフルだ。Retinaの解像度は必要ない気がするけど、全体的にバランスがいい。


 PC用のディスプレイが16:9とかはやはりおかしいと思う。明らかに使い勝手が悪いでしょ。3:2か4:3がいい。


 まあそれはともかく、仕事の手順としては、まずMBPでコードを書いて、軽いタスクを動かしたあと、1エポックくらい回してみて、それから据え置きのGPUマシンにログインして本格的な学習をさせる。このマシンが、データセンターに置けなくなってしまったので非常に困っている。まあ古いバージョンでだましだまし使うしかないが。


 ちなみに、データセンターにGeForceを置いて使う場合と、一年間Microsoft AzureのTeslaを使う場合とでは、コストがたかだか二倍くらいしか違わない。従って、Azureを使う場合はコストが10倍のTeslaを買う必要はないことはハッキリさせておきたい。どうせ一年後にはさらに新しい世代のTeslaが出るわけだし、慌ててTeslaを買う必要はない。買っても粗大ゴミになるだけである。ちなみに当社はAzureも販売している。


 閑話休題。


 この、ローカル(MBP)で1エポック回そうという時に、これまではCPUで仕方なく回していたが、PlaidML(https://github.com/plaidml/plaidml)を導入するとOpenCLでアクセラレートしてくれるので、MBPに搭載されているヘボヘボなIntel HD Graphicsでも学習が高速化される!!!もちろん、TITANXほどの速度は出ない(というかMBPのグラフィックチップはそれほど高速じゃない)けど、体感で3〜5倍くらい速いので開発効率はすごく上がる。


 こりゃーすごい


 しかも懸案のconv2d_transposeとconv3d_transposeに対応してくれたので、PlaidMLでもGANが学習可能(なはず) https://github.com/plaidml/plaidml/commit/d4afce257aab1a6a8e46a0a890a535b292c07248


 すごい神対応! Issueだしてから一週間も経ってない。

 これでGANが動くはずだが、あとで試してみたいと思う。


 ついにNVIDIA帝国に対抗する反乱軍の準備が整ってきたようだ。

 AMDRadeonマシンでも試してみたい