2018年1月11日木曜日
成長するAI脳
機械学習における興味として、将来的に機能性能を向上したくなった場合に、アーキテクチャをどう拡大したらよいのか、という問題がある。これには二つの側面があり、ひとつは単純に処理性能を増やしたいとき。これは簡単で、学習済みのマシンをコピーして複数並べ、前段で負荷分散すればよい。問題はもうひとつの側面で、より知識を増やしたいときにどうするか、だ。
今はあまり問題になっていないが、アーキテクチャが固定でデータをどんどん投入していくだけ、とはならないはずだ。難しいことを考えれば考えるほど、求める結論が多いほど、きめ細かいほど、元データが多いほど、より大きなアーキテクチャが必要になるはずだ、と考えるのが自然だ。そして往々にして、要求は時間と共にエスカレートするものだ。
ノード数や層数を増やして新しく学習し直す、というのなら話は簡単なのだが、これではその度に学習成果がリセットしてしまう。実験ならともかく、実用マシンでこれを行うのは困難だ。そこで、既存の学習結果を残したまま、アーキテクチャを拡張するためにはどうするか、という学問(技術)が生まれ、検討されるようになるだろう。これを考えてみる。
マクロで考えると、これはスケールアップとスケールアウトということになる。前者は、既存の学習マシンにノードを付け加え、結合を弄る、という考え方になる。後者は、既存の学習マシンはそのままに、別の学習マシンを新たに立て、これを結合する、という考え方になる。だが既存のそれのように単純には行くまい。
まず、スケールアップに関して考えると、学習済みの学習マシンに未学習のノードを付け加えることで、既存の知識が消えたり不具合が出たりする可能性がある。これを防ぎ、更に性能を上げるには、どのような構造にしたらよいか。後者は、そもそもAI同士をどう結合したらよいのかが分かっていないし、新たにつなぐマシンはまっさらだから、繋いだ後にどうデータを流したらよいかも分からない。
前者についてはアイデアがあって、既存のノード1つを2つ、3つと増やし、結合先結合元自体は層に応じて増やし、その初期パラメータを既存の学習結果と同じになるように設定する、というものだ。これを少し解説する。
例えば、既存の学習マシンの中間層のノード各々を全て二つに増やす、と考える。そして、全ての結合は既存のノードに準じたつなぎにする。例えば、既存のノードA1の先にノードB1がつながっているとすると、既存のノードはA1ひとつからA1とA2の二つになり、接続先はB1とB2の二つになる。このとき、A1-B1は既存の接続であるが、この他にA1-B2、A2-B1、A2-B2の接続ができる。この際、新たな三つの接続における影響係数を全てゼロにする。
こうすることにより、新たにこのマシンにデータが流されてきたときに出てくる答えは、既存のマシンが出す答えと同じになる。しかしこれは実働フェーズでの話であって、学習フェーズにおいては全てのノードに公平にフィードバックされるから、新たな学習においてはゼロだった係数は変化していく、というものだ。
後者は更に難しい。まず目的が問題だ。同じデータを使って別の種類の結論を出したい、というのであれば、入力は同じで出力は独立している、お互いのマシンは干渉しない、という形態になる。例えば手書き文字認識において、文字を特定するマシンと、その文字を書いた人物を推定するマシンを並べる、というイメージだ。これは比較的簡単な部類になる。
では、こんなものはどうか。診察結果から病名を診断する「医師マシン」において、今までは掛かりつけ医レベルだったものを総合病院レベルにしたい、と考えたとする。つまり、従来は一人の医者(マシン)だったところ、多くの診療科医(マシン)の集団にして、どの診療科が診るかをまず決めて、あるいは最終的にどの診療科医の結論を尊重するかを決めて診断をする、という形に変えたい。その場合はどのようにすればよいのだろう。
既存の(汎用)医者マシンが出す結論(病名)は、病名+確率のリストである。病名毎に診療科を割り当て、診察結果と医者マシンの結論を診療科医マシンに入力する、という形になる。この際、診療科医マシンには他の診療科の病名は入力されない。
こうすると、初期においては診療科医マシンと医者マシンの結論は同じであるが、学習が進むことで診療科医の診断の方が精度が高くなっていく、ということが考えられる。
もちろんこの他にも考えられるアーキテクチャはごまんとあり、用途目的によって使い分けられることになるのだろう。重要なのは学習し直しが発生しないことで、こうすることによって、アーキテクチャが変わった時期から急激に精度が上がっている、などという効果が期待できる。
登録:
コメントの投稿 (Atom)
注目の投稿:
ベジファーストと三角食べ
書籍「糖質疲労」「脂質起動」がベストセラーになっているらしいというので、少し読んでみた。そこに書いてあったことでいくつか気になったことがあったので、これをネタに生成AIをイジメてみようと思い、会話してみた。 その疑問とは、いわゆるベジファーストへの反論である。 まずベジファー...

人気の投稿:
-
屋根に超音波振動装置を取り付けておく。これによって屋根と雪の間の結合が破壊され、雪が滑り落ちやすくなる。これが題記装置の原理だ。角度によっては放っておいても落ちるだろうし、そうでなくても楽に雪下ろしができる。 まあ超音波でなくて低周波でも良いのだろうが、超音波の方が簡単...
-
ハクキンカイロの発熱原理を調べていて、これを防災用(キャンプ用でも良いのだが)の湯沸しに使えないかと考えた。 普通、キャンプではガスコンロを持っていく。だがあれは裸火を使うから、熱効率は悪い。これに対してハクキンカイロの仕掛けは、白金触媒を適切な場所に配することで、極...
-
ディーン・ケーメン氏が発明した浄水器「 スリングショット 」の原理は、いわゆる蒸留である。つまり水を沸騰させて水蒸気にした後、冷やして水に戻す。汚水と蒸留水の間で熱交換を行うことで効率を上げている。 日本では、防災用の浄水器としては中空糸膜や逆浸透膜が殆どだ。これと蒸留式には...
-
コンクリート住宅を3Dプリンタで作る、という試みは、世界中で行われている。しかし日本では、鉄筋なしのコンクリートだけの住宅は認可されない。地震が多い日本では、揺れで簡単に壊れてしまうからだ。コンクリートは圧縮に強いが引っ張りに弱い。鉄筋はその逆だ。鉄筋コンクリートが使われる...
-
不気味の谷というのは人間に似せようとするから起こるのであって、Pepperやaiboには存在しない概念だ。日本にはアニメキャラという秀逸な文化があるのだから、顔にしても動きにしても、そういった一つのカテゴリとして「抽象化ヒューマノイド」(言葉が適切かどうかは分からないが)と...
-
バカの壁 [ 養老孟司 ] 価格: 734円 (2016/10/26 18:15時点) 感想(72件) 養老孟司 氏の名書だ 。 いちばんキライなタイプが、以前も言った「中途半端な科学万能主義者」なのだが、この類の人の「バカの壁」が一番厚い。多くの場合...
-
骨梁とは、骨の内部に存在する網の目ないしはスポンジのような構造のことだ。この構造によって、骨は頑丈なのに軽量でいられる。類似の構造としてはアルミ発泡材があるが、あれはどちらかと言えば消音や軽量化が目的であり、骨のような(建築用語で言うところの)構造材としての用途とは少し違う...
-
あるいは家庭用自販機、とでも言おうか。自宅のすぐ脇にあって、品揃えが少数多種、単に飲み物だけでなく、生鮮品や惣菜などもラインナップに加え、複数台並べて簡易コンビニ的に使用する。 自販機コンビニと似ているが、大きく違うのは次の通りだ。 品揃えはカスタマイズできる。 ...
-
一国における貧富の差が余りにも拡大して手が付けられなくなった時に、第二の通貨を発動する、という手が考えられる。お互いの使い方や交換に制限を掛けてやることで、第二通貨が貧乏人の間で主に廻るようにして、独立した(仮想的な)経済圏を作ってやるのがこの目的だ。 低所得層は第二通...
-
生成AIを使って作成されたイラストに対する極端な非難が相次いでいる。そのどれもが、ちょっと行き過ぎに思える。例えば、事前にAIであることを知らせているもの、絵を描いている本人が確認し承諾したものまでも非難されている。なぜこんなに過剰な反応をするのだろう。単にノイジーマイノリティの...
0 件のコメント:
コメントを投稿