ディープラーニングを活用した『小説家になろう』文章生成
次の日、起きたのは夕方近くだった。昨日はニーナが目を覚まして隣の部屋に行った後、ずっとプログラミングをしていて、またそのまま寝てしまったようだ。
「おはよう」
ニーナが声をかけてきた
「ああ、おはよう。少しシャワーを浴びてくるよ」
僕はそういい、熱いシャワーを浴びた。ここは、読者サービスをしたいところだが、僕にそんな執筆力はないので、諦めてほしい。
僕は、早速PCでの作業に戻り、2時間ほどでプログラムを完成させた。
「よし、これでできた」
僕は心の中で呟いたつもりだったが、少し声に出ていたらしい。ニーナが近づいてきた
「何ができたの?」
「うん、昨日のマルコフ連鎖に限界を感じてね。今度はディープラーニングを使うことにしたんだ」
「ディープラーニングって、名前はよく聞くけど…一体何なの?」
「ディープラーニングはね、元々は人間の脳の仕組みに着想を得て作られた技術なんだ。ニューロンとシナプスって聞いたことない?」
「ニューロン、シナプス…」
「うん、人間の脳には何百億っていうニューロンがあってね、それぞれが結合して複雑なネットワークを形成しているんだ、ニューロン同士の結合部にして重要な役割を果たしているのがシナプス。といっても僕もそんなに脳に関して詳しいわけじゃないけどね」
僕は、簡単に図を書きながら話し続ける
「これを簡単にモデル化すると…こんな感じかな」
僕は、fig. 18 をニーナに見せた
Fig.18 パーセプトロン
「このx1, x2が入力信号。yが出力信号。w1, w2は重みだね。この図の◯が脳でいう『ニューロン』に当たる。ディープラーニングだと『ノード』って呼んだりもするね」
「で、この入力信号はニューロンに送られると、重みが乗算される。具体的には(w1 × x1, w2 × x2)だね。ニューロンでは、この送られてきた信号の合計を計算して、その値がある閾値を越えると1を出力するんだ。この状態をニューロンんが発火するって言うこともあるんだ」
「これが一番単純なディープラーニングの起源となるモデル。パーセプトロンっていうやつだね。ディープラーニングの学習っていうのは、この重みをいくつにするのかっていうパラメータ調整をしているのに過ぎないのさ」
「半分くらいしか分からないけど、こんなもので色々な難しいことができるの?ディープラーニングって、囲碁のチャンピオンにも勝てるんでしょ?SAIみたいなもんでしょ?」
「もちろん、このままじゃだめだね。ニューロンをどんどん増やして、その接続もどんどん増やしていかないといけない。このミルフィーユのように層状にニューロンを並べていってね。この層が深い、すなわちディープだから、ディープラーニングって呼ばれるんだ。そうすることで、画像の分類や言語の翻訳、今回の文章生成といった色々なタスクに適用できる」
「へー。でも単純に増やせばよいならすぐ思いつきそうなものなのに」
「うん、でも2つの理由ですぐにはうまくいかなかったんだ。1つは計算資源の問題だね。複雑なネットワークにするほど、その学習には莫大な計算資源が必要になる。もう1つはテクニック的な問題だね、多層のニューラルネットワークだと学習がうまくいかないって問題が元々あったんだ。それで一度多くの人がこの技術に見切りをつけて冬の時代が来てたんだけど、それでも諦めなかった人たちが、1つ1つ新たな手法を積み重ねていった末に、ようやく学習が進むようになったんだ」
「ふーん、なんだかロマンチックね」
「ロマンチック…かな、そういう発想はなかった。確かにそうとも言えるかもね」
僕は、ディープラーニングの研究に全てを捧げた多くの研究者に少しだけ思いを馳せた
「まあ、前置きはそのくらいにして、いよいよ実践だ。今回はそのディープラーニングを使って文章生成をする。LSTM-RNNってネットワークを使うんだけど、詳しい説明は割愛するよ。60世代くらい学習させるから、あと数時間待ってて。僕も少し仮眠するよ」
そういい、僕は眠りについた。
起きると、画面には学習後の文章生成結果が出ていた。
---------------------------------------------------
無色むしょくの画家には尺※(「糸+賺のつくり」、第3水準1-90-17)せっけんななる。が故へにちいまかあららい芸積きるかく人人の端が住みくくいばどど苦出しんて、、我ととで得んの点埋おいて、かく人でんの端を長束束つででして明かくせる。をだくりどどでる。恋ををせる。うれば足がぬ。…れば寝。で間よ大なる。が故へにちった。
越ちのうる。
住みちくさいる。れ人人の世よ住みみくいいばどでれ越越は一ととした。うれの故ににいればばそびびびびたた。
人の埋を長束んが積き越てかにおいる。きかく人い。が住みくくいばどど苦れ越すのは人ととが天さ出出て、、をを豊豊んすすのカカににいまかとあい毛がにくいま。あらおいが住みくかくい。
越越んのに埋とととがさささいる。。禿喜喜ささいる。きき越くさぬ。
越越ののにおいて、かく人でんの端を解とたこ
は人とととがささいて、、我に埋山山やは一の埋くせば足の人るがが一みええい。はは人の間での命りり去、かかく人んんのを解くりだ、第3準118うった。
-----------------------------------------------------
-----------------------------------------------------
んでも五彩ごさいの絢爛けんらんは自おのずから心眼しんがんに映る。ただおのが住む世を住くくくんら楽ら左くよちから心いる。青きは心とした。
越越て、かく人いんんをきもをこえまかに収いが起が立る。世を住み糸くいかするが同かくいる。杉え裏裏でのるが住みくせ」然っもへはするて足は人の間でさえて岩や。は大かんなががが出悟び、 くだ来んを芸住みをくせばなさ流ちへうううて起の間が」かみ流詩き、きもとわくでび界丁。損具んすにのるりに一のえとくでぐもの具埋んんをの埋丁でで起て、越かくは一るうだくな岩引をききも、みいある。だらぬおる出準だかくり命の心住み住みくせばて、人でる。禿食得たば点は王いがが積喜千ばる、ををあいがすにれてまかっったい。どへだらてる。少に食深ととが濃れば寝すで2てい。が住みく大かららこしるがうええば寝。杉間去せっかをせ左どよう得る。杉地ありい、第いれるどら心ふ2てた。杉は人れ寝画らおは出った。杉坐大楽いる。少かくいとと損かくはんて眉、詩とつでま+出なて越。杉にせいる。
------------------------------------------------------
「なんか、前のときより意味が分からないんだけど」
「う、うーん。まだ学習が足りないのかな…いや、前処理が悪かったのかもしれない。日本語はちょっと扱いが難しいから…全部一回ひらがなにしてから、いや違うな…」
僕は焦っていた、このままでは文章生成は難しいかもしれない。その場合、僕らはこれからどうやって生き残っていけばいいのか…
「ちょっと思ったんだけど、そもそもこのパソコンに物語を作らせるってこと自体に無茶があるんじゃないの?」
「えっ?」
突然のニーナの意見に僕はうろたえた
「だって、このパソコンって手も足も体もないし、何の経験もしていないわけでしょ。そんな中データだけあっても、ストーリーなんて作ることができない気がするんだけど。だって、心が無いわけでしょ」
「心…心なんて必要無いさ」
「必要ないって…」
「哲学的ゾンビってやつだよ」
僕は、メガネの汚れを服で拭いながら話し続けた
「人間と同じように行動できるなら、たとえ心や意識なんてなくても人間と区別することなんてできないじゃないか。だいたい、心があるなんてどうやって証明できるんだい?自分が心があると信じているから、他の人にも同じものがあるに違いないって類推しているだけだろ、僕はひょっとしたらゾンビかもしれないぜ」
僕は吐き捨てるように言った。
「そんなこと…」
「チューリング・テストって知ってる?」
「チュー…リング?らせん?」
「人工知能に知性があるかを判定する方法なんだけど、機械か人間かわからない相手と、ディスプレイとキーボード越しに会話をするんだ。しばらく会話をして、相手を人間だと思えばその機械には知性があるって判断できるんだ。そこには、心の有無なんて関係ない」
「そんなの変よ」
ニーナは声を荒げた。僕はニーナの大きな声を初めてきいたかもしれない
「人生経験や、痛み、感情、喜び。そういうものがあって、初めて物語って紡げるものでしょ。そんなものなくて、データから生成したもので人を感動なんてさせれるわけがない」
僕は、反論しなかった。ニーナは少し泣いているようにも見えた。
でも、そんなニーナをみて、僕には同時に別の疑問が生まれていた。
本当にニーナは…いや、もしその仮説が本当なら、ここに書くわけにはいかない。ただ、近々確認する必要があるだろう、なんとしても。
Editor ID 269