はてなキーワード: 中間言語とは
絵師という言葉は最近できた言葉ではなく律令制にもある外来語が入ってくるまで使われた伝統的な言葉が1990年代から再度使われ始めただけ
そんな事より絵をかくことと音楽を作る事を同列に考えた場合、作曲家が考えた音楽は楽譜をとおして一般の演奏家が演奏するというのは紀元前より行われていた
しかし描かれた絵を再現する方法というのは生成AIが出てくるまでなかったのだ
音楽では作曲家と演奏家が別の能力であり演奏できるからといって作曲できる訳ではなく、多くの人が作曲家が作った曲を楽譜をよんで演奏しているだけである
絵は絵師が描いた絵を模倣するための中間言語が存在せず演奏家にあたる人がいなかったのだが生成AIが中間言語の役目を果たしプロンプトエンジニアが演奏家の役目となったのだ
開発したのがOpenAI Inc.なので勘違いしているのだろう。
ChatGPTは文字通りGenerative Pre-trained Transformerでしかない。
OpenAI社は人工知能の完成を目指している会社ではあるのだが、ChatGPTは副産物というか、素材というか。
神経細胞、シナプスの挙動を貧弱なコンピューターでどう再現するか。
こういうアプローチだった。
これと袂を分けて、入出力が人間っぽかったら良くね?
商業的な利用もそっちのほうがよくね?
先々人工知能エンジンの脳再現精度が上がったとしても入出力は自然言語で行わなければならない。
そのためには言語モデルを先に構築しておくのは無駄にはならない。
コアの人工知能エンジンは中間言語で入出力を行うが、外側HMIの部分をChatGPTに担わすようなイメージではなかろうか。
人の指示→ChatoGPTで中間言語にコンパイル→コアAI→中間言語でChatGPT→人が認知できる出力
このようなモデルならばコアAIは本質的人工知能の開発に注力できる、分離できる。
従来のAI研究はここ一緒くたにやとうとしてたのも停滞の原因と見抜いたのだろう。
営利企業である以上は稼げるプロダクトでなければ資金調達はできない、利益にならない
言語モデルの段階でも中間処理がそこそこできてればそれっぽいプロダクトにはなる。
商業的な使い道もある。
今後AIエンジンの開発は続くだろうが、現時点では知能とは程遠い完成度でしかない。
入出力がそれっぽいので知能っぽく見えるが、古典的な人工知能の定義から言えばおおよそ別物。
俺も気に入って使ってる、プログラム食わせたらあっさりバグも見つけやがった。すげぇと思う。
が、これは知能ではない。
なんか世間では、すげぇ物ができちゃった、世界が変わる、大革新、みたいな熱狂と不安と禁忌があるけどさ。
いやいや、そんな大層なものではありませんw
まぁこの辺のOpenAI社のマーケティング、演出は秀逸ではある。
ChatGPTの指示かな?www
https://www.publickey1.jp/blog/22/net_7.html
中間言語なおかげで、コメントや変数名は残らないが普通に読めるレベルでC#コードに戻せるのがよかったのに、ネイティブだとそういうのも難しくなりそう
そのおかげで助かったこともあったし、ソースコードが見づらくなるネイティブ化はあんまりしてほしくないなーってところ
クライアントからこのソフトと連携してとexeを渡されたものの、仕様通りに動いてなくエラーログも出ない
もうサポートしてないバージョンらしく、ベンダーに聞いたりサポートしてもらうのも無理そう
たとえばC#など.NET系のリファレンスはMSDNで読むことができる。
RubyだってHaskellだってScalaだって、公式サイトにガイドぐらい置いてある。
Oracle、DB2、MySQL、PostgreSQL、SQLite、AccessなどSQLが実装されたDBMSは様々にあるが、どれを取っても仕様が違う。
皆が標準SQLに従っていてその上で適当に増設している程度ならよいが、もはや誰も標準SQLに従う気が無い。
根幹的に必要な機能があったりなかったりするから、あるDBMSで書けるようになったからと言ってSQLを覚えたとは言えない。
これと上記1とのせいで、何かググった時に特定のDBMSでしか解決法にならないものが大量に出てくる。
最近のプログラミング言語は大抵、雑に書いたってコンパイラが適当に最適化してくれる。
同じ結果を生むような二つのコードは、よほど下手くそに書かない限りは同じような実行速度になる。
SQLもオプティマイザが最適化はするが、ほぼ同じような二つのコードで速度が全く変わったりする。
そのため実行計画というオプティマイザの中間言語のようなものを読んであげて、
より速い中間言語が生成されるようSQLをチューニングし直さなければならない。
これでは何をやっているのかわからない。
有名なサイトでは、初心者が必死で書いたような可愛らしいSQLを「それでは遅すぎるんじゃ」とけちょんけちょんにけなし、
なんかシンプルなのだけれどよくわからない文法を一杯使って実行速度を高めたのを「正解」としていたりする。
しかもその文法、ググってもろくな解説が無かったり、特定のDBMSに依存してたりと使えないオチ。
上手い人はSQLを綺麗に書く。だけど、その綺麗さの基準が人によって違う。
エディタが単なるメモ帳でしかないようなDBMSも多いから、インデントの文字数さえ個々人に任される。
インデントは2文字か4文字か。SELECTで改行するかしないか。カンマは列の後ろか、前か。
いろいろなサイトに色々なことが書いてあったけれど、全部違うこと言ってた。
つまり各々綺麗に書ければいいやということであり、読むほうも宗教が違ってもまあ綺麗なら読めるから困りはしない。
何かの解決法をググるたびに違うスタイルだからどう書いていいのかわからない。
結局なんかいろいろな上手い人のスタイルをツギハギした新たなスタイルが世に誕生してしまうのだ。
まずは【お前自身が機械翻訳に駆逐されろ】"iwatani"の翻訳した記事が上がっていた。
<GoogleのAI翻訳ツールは独自の内部的言語を発明したようだ、そうとしか言えない不思議な現象が>
Zero-Shot Learningは分岐のない翻訳などではない。これは正しくOne-shot Learningの延長線上にあり、
ワンショット学習すらしないで(この場合対応ペアでの事前学習をおこなわず)、新規ペアでの処理を行うっていうことだ。
この語は翻訳に限った話でもない。だからほとんどの訳がおかしい。むしろ機械翻訳の方がマシ(背景を理解していない翻訳者より機械翻訳の方がマシという皮肉な状況)。
(ちなみに実際に脳内でもOne-Shot Learningは繰り返し学習とは別パスなのではという示唆もある)
<グーグルの翻訳AIが「独自の言語」を生み出したといえる根拠>
http://wired.jp/2016/11/24/google-ai-language-create/
http://b.hatena.ne.jp/entry/wired.jp/2016/11/24/google-ai-language-create/
これらは古くから考えられてきた「基底となる」文法等を完備した「中間言語」などではない。
論文で触れられている「『Interlingua』な表現形式」は『semantic representations』とされていて、まさに多言語間で共通する「『意味表現』の表現空間」であり、
ツリー状に開かれてもいない。人が想像する構造化された言語などではない。
ただしその空間を共有していて、つまり共通の意味表現を持っていることは論文(arXiv:1611.04558)で実験的に証拠を提示されている。
今までも多対多の翻訳でネットワークを共有することでBLEUを向上できるという論文は出ていたが、今回のは、翻訳に関して言えば、十分普遍化した意味空間を内部的にもったネットワークに新規ペアをぶち込んでも能動的な転移学習すらせずにそれなりの結果が得られる、結果の向上だけでなく未知ペアを処理できるって事である。
そしてその効果は汎用性↑↑、そして最大のメリットはサンプルが少ない言語ペアもやりやすくなるぞ、マイナー言語にも早く適用できるかもって所だ。
One-shot Learning系(小サンプル)とDeep Learning系(巨大サンプル)によるネットワークについて、意味という(我々にも見えない)上位構造の下に配置された構造である「言語」を扱う特別な例では、両方を一つで達成できる可能性が垣間見えた論文なのでもある。
いわゆる頭の中が多動というやつで思考がいつもしっちゃかめっちゃかなのと、
力を抜くと思考がそのままダダ漏れになりそうになったり、早く喋りたくて口が開きかける衝動を必死で抑え込んで、
日本語として成立していない、自分のフィーリングと語感だけで構築された脳内の中間言語を最低限通じる日本語に直しつつ、
状況を見て出したりひっこめたりしながら喋らなければいけないので、日本語で会話するだけでかなり疲れる。
かなり疲れるのだけれど、医者からするとテンポはやや遅いが普通に会話ができているので、ADHDの診断はつくものの、会社員もできてるしイケるイケるって感じらしい。
診断を受ける15年ぐらい前に、中学の社会の授業中に不意に当てられて慌てて立ち上がりながら「アパラチア山脈」と言おうとして、
「アパッチのArmadilloはさんざっぱら白濁したAsparagusの茹で汁で脈絡なくRock You」(英語部分はネイティブ風)とスラスラ答えて大恥をかいたことを契機に、
自分の異常性に気付いて自分なりに訓練し続けてきたおかげか、人前ではある程度抑え込めるだけマシな部類ではあるのだろうけれど、
表面上抑え込めたからといって普通の人に混じって生きるのが楽なわけでは決してなくてぐぬぬとなる。
歳を重ね、語彙が増えるほどに増している気がする中間言語の奔放さで脳内翻訳家の疲労は年々高まるばかりで、
心身の調子が良い日の方が、逆に思考の回転や衝動性が絶好調で、普通に会話するためのコントロールに苦心するという有様。
普通に喋るための抑圧感があまりに強かったので、先日居酒屋で友人に頼んで試しに中間言語をそのまま垂れ流した会話を少しさせてもらった際に、
どうせ私のクソ雑魚ナメクジなワーキングメモリでは覚えてなどいられないのでスマホで録音してみたが、あとから書きおこしてみたら思っていた以上に意味不明だった。
友人「おうおう、じゃあこっからってことで、はい乾杯おつかれー」
増田「ウィーンプラハ甲冑ぐるぐる モンティパラミッチャーげタンドリーナン(get out turn dreaming now かも) once on the way」
友人「いやー、トランプさん勝っちゃったねー」
増田「Database バンシャディフォルモントゥ 放射ニカラグア絡まって左から北川 総研証券ドンタコスったらドンタコス」
増田「タンデムマンダム オーデュロイキャベツPrismProxy ショートショートでガッテントゥルットゥ」
友人「そういや今度ポケモン出るやんか?」
増田「あんれまあビール さんさんさんさわやかスリザリン 僕らの肩にフリーズドライ 座布団どんぶりムートンブーツでムーンウォーク Boom Boomナチョス Ah」
友人「お前買う?」
増田「金平ごぼうで滅びた信玄 Likeカーティス、マヌカハニーは無理筋かなメルシー?」
友人「前のもクリアしてないし俺は今のところ見送りかなあ、でもそのうち買ってしまいそうやけど」
付き合ってくれた友人からは、ところどころなんとなくわからなくもないが友好的な宇宙人って感じで怖い。とのお言葉をいただいた。
自分でも支離滅裂な言葉をスラスラと喋ってるのを聞くとコイツァヤベェやって思う。でも喋るのはとても楽だった。今から年をとってボケるのが怖い。
いちいち随分グニャグニャと喋ってるけど、声に出しているのは頭の中を流れて行ってる思考の中から関連の強そうなものを一応言語としてすくい上げたものだったり、
口を動かしてる間に飛んでいかなかった強い言葉の成分なので、実際の頭の中はもうちょっといろんなイメージが駆け回っている感じ。
普段はここから普通の日本語に変換して喋っているわけだけれど、多分こういったことを言おうとしていただろうという翻訳後はこんな感じになる。
友人「おうおう、じゃあこっからってことで、はい乾杯おつかれー」
増田「ウィーンプラハ甲冑ぐるぐる モンティパラミッチャーげタンドリーナン once on the way」(うぇーい、どーもどーも、おつかれーい)
友人「いやー、トランプさん勝っちゃったねー」
増田「Database バンシャディフォルモントゥ 放射ニカラグア絡まって左から北川 総研証券ドンタコスったらドンタコス」(マジでなー、ヒラリーはホンマやらかしたな、えらいこっちゃで)
増田「タンデムマンダム オーデュロイキャベツPrismProxy ショートショートでガッテントゥルットゥ」(そうなりそうやな、まあ俺にはどっちがいいのかわからないけど)
友人「そういや今度ポケモン出るやんか?」
増田「あんれまあビール さんさんさんさわやかスリザリン 僕らの肩にフリーズドライ 座布団どんぶりムートンブーツでムーンウォーク Boom Boomナチョス Ah」(あーあれ、サンとムーン?)
友人「お前買う?」
増田「金平ごぼうで滅びた信玄 Likeカーティス、マヌカハニーは無理筋かなメルシー?」(今んとこビミョー、まあ買うとしたらムーンかな、お前は?)
友人「前のもクリアしてないし俺は今のところ見送りかなあ、でもそのうち買ってしまいそうやけど」
増田「晩酌よりかはキルフェボン、串刺し墓場酒場タタラ場板場ンティス?」(そういや前のもやってたな、ちなみに買うならどっちバージョンよ?)
軽度とされる人の中にはこんな感じの頭の中を抱えながら一般人のふりして暮らしているのもいるよということで。
世の中には同じようなことになっている人がきっといると思うので、そういう人に似た様なのがいるぞと届けばいいなと思う。
---
追記
友人がすごいという件についてちょっとだけ補足。
友人とは取り決めとして、恐らく会話にならないのでしばらく一方的に会話を投げかけてもらうということにしていた。
ただ、ポケモンのくだりあたりはこれまでの付き合いから、こちらの反応や返事の仕方をなんとなく予想ができたみたいで、見返すと割とちゃんとした会話めいたやり取りになってた感じ。
とはいえ「はうあーゆー」と言えば「うんたらかんたら えんでゅー?」とくるから、うんたらかんたらが聞き取れてなくても返すとか、そういう感じのやり取りであって明確に理解ができてるわけではない。
そもそも合間合間で友人は「わっかんねー」としこたま笑い転げていたし、合衆国大統領は時事ネタとしてとりあえず投げてみたけど思った以上に無理そうだったから諦めたとも言っていた。
なんとなくわかる部分については、話し方のトーンとかアクセントとかに加えて、普段から私の傾向として、何かが思い出せない時にかわりに出てくる言葉がかなり音に引っ張られたりするので、
付き合いが長いとその辺りからぼんやりと「なんかマ行多めに言ってるから多分ムーンなんやろなあ」「バって一杯言ってたし疑問形だし、バージョンかなあ」とかそういう感じに想像していたらしい。
今回の件とは関係ないけれど「ヤバイ」の派生だけで10分会話してみようという遊びをして割と不自由なく意思疎通できてしまったり、
「次にお前は○○と言うゲーム(予想がついたらハモる遊び)」で正解を連発してお互いに気持ち悪がったりしたこともあるので、理解度が割と高いのだと思う。
どちらにせよしょうもない実験にも付き合ってくれるし、双方が相手に干渉しすぎないのが分かっていて気楽にいられるので、大変貴重な友人であることには変わりない。
IntelコンパイラにしろVSにしろ有償のものは使いやすいけどね。会社に買わせるか経費で買うものだとは思う。
ただ、使ったことがない人は使うといいと思う。
Intel コンパイラ(VTuneなど含む) Visual Studio Perforceの3つは少なくともお金を出して使いたい。
モチベーションが高いといっても、お金を稼ぐことに対するモチベーションか、プログラムに対するモチベーションかで大きく変わると思う。
大抵は、お金か、名誉だろうから、それならWebプログラミングをやればいいと思う。
これからは、9割のプログラマーは何がしかの中間言語 JavascriptやPHPなどをやることになるだろ。それならツール群はいらん。
> どんな形式(PDF, ワード, 一太郎, HTML, Flash)にでも変換できるような、中間言語があるといいのかな。TeXとか。
実はこういう方向に思考が行くのは正当な流れで、その延長上に"XMLに対する期待"ってものがあったりする。XMLって、中身と見た目を完全に分けて、クライアント側で、そのクライアントに適したようにレンダリングしてよ、っていうのが目的のひとつだから、まさにここでいう中間コード。
ただし、中間コードとして何でもできるXMLみたいな規格は複雑すぎて、簡単な用途に使うのには流行らなかった。まぁ、いくつか流行ったものもあるけどね。RSSとか。
そこでどうなったかというと、"中身と見た目の分離"というところでぴんと来た人もいるだろうけど、HTML+CSS。適当に簡単で、しかも中身と見た目を分離できる。
というわけで、みんな、なんだか同じところをぐるぐる回ってるんじゃないかなぁ・・・という話でした。