Translate

#75 Keras

ディープラーニングを行う際、使用するツールは、OSSではTensorFlowPyTorchが主流です。

しかし、現在、Kerasが『TensorFlowの初心者向けラッパー』という枠組みを完全に超越し、Kerasのシンプルな書き方を1度覚えれば最新の恩恵をすべて受けられる状態になっています。そのため、『5th STEP ディープラーニング』では、Kerasを使っていきます。

Kerasは、ギリシャ語で『角(horn)』を意味する言葉に由来しており、ホルンのようにシンプルで美しく鳴るツールにしたいという開発者の願いが込められています。

ここでは、Kerasの開発者の中心メンバーであるフランソワ・ショレやKeras開発経緯についてまとめてみました。

ショレの思想やKeras開発の経緯を知ることにより、Kerasへの愛着を深めていきましょう。

好きになることが、上達の秘訣です。




1.フランソワ・ショレ(François Chollet)

ショレ氏はフランスの出身で、同国のエリート養成機関であるENSTA Paris(国立高等先端技術学校)で学びました。応用数学、コンピュータサイエンス、信号処理、システム工学、そしてオートメーション(自動制御)などを専攻し、高度な科学的・技術的基盤を構築しました。この在学中(2011〜2012年頃)から、すでにニューラルネットワークを用いた研究や実験に関わり始めています。2012年にMaster of Engineeringを取得しました。

学位取得後の2012年から、ショレ氏は日本に渡り、東京大学の大規模システム・知能シミュレーション研究室(國吉康夫教授の研究室)に研究員として籍を置きました。

東大時代は、現実世界のノイズが多いデータストリームを扱うための「自己組織化(非監視下学習)アルゴリズム」や「オンライン推論」、そして人間の幼児が環境に適応しながら知能を獲得していくプロセスを模した「認知発達ロボティクス(Cognitive Developmental Robotics)」の研究に従事しました。

AIとは、単に大量の固定データを統計処理するシステムではなく、未知の環境に対して自律的に適応・抽象化を行うシステムである」という彼の現在のAGI(汎用人工知能)に対する根幹の思想は、この東大研究室時代に深く形成されたと言われています。

『自律的なロボットOS』を構築するためには、まずその基盤として、脳の神経回路を模したニューラルネットワークを自由かつ高速に実験できる環境が必要でした。

しかし、当時のディープラーニングのライブラリ(Theano、Torchなど)は、数式をそのままコードに落とし込むような難解なものが多く、一般のエンジニアや研究者にとってハードルが高い状態でした。

そこで、まずは自分が実験しやすいディープラーニングのライブラリを作ろうと開発したのがKerasでした。2015年3月のことです。



2.Kerasの進化

初期のKerasは、自身で計算を行うのではなく、裏側の計算エンジン(バックエンド)を選べる仕様でした。最初は『Theano』というライブラリ上で動いていましたが、TensorFlowが登場するとすぐにTensorFlowにも対応しました。

一方、TensorFlowの開発チームは、TensorFlowの性能は高いが、コードが難しすぎるという課題を解決するため、圧倒的に使いやすかったKerasに目をつけました。2017年、TensorFlow 1.4のリリース時に、TensorFlowの内部に公式APIとしてtf.kerasが組み込まれることが発表されました。これは、2015年後半、ショレがGoogleに迎え入れられたことが大きく影響していると思います。

その後、GoogleはTensorFlowの大幅なアップデートである『2.0』をリリースします。ここで、「これからのTensorFlowの標準的な書き方はKeras(tf.keras)である」と明確に定義されました。これにより、TensorFlowの強力なインフラ構築能力と、Kerasの扱いやすさが完全に融合しました。

この時期、Metaが開発したPyTorchが研究界隈で爆発的な人気を集め始めます。PyTorchは、Python本来の直感的な書き方ができ、デバッグがしやすい(Define-by-Run)という特徴があり、TensorFlow+Kerasの強力なライバルとなりました。

この競争により、AIフレームワーク全体の使いやすさが底上げされていくことになります。

Kerasは2023年末にメジャーアップデートである『Keras 3』をリリースしました。
ここでKerasは、再び特定のフレームワーク(TensorFlow)だけに依存しない、『マルチバックエンドAPI』へと原点回帰し、さらに進化を遂げました。




3.現在のKeras

現在のKeras 3は、コードの書き方は全く同じままで、裏側で動かす計算エンジンを以下の3つからいつでも自由に切り替えられます。

●TensorFlow
Google製の企業のプロダクション環境や、長年の運用実績、強力なデプロイ・パイプラインを持つバックエンド。

●JAX
超高速な行列計算や、最新のLLM(大規模言語モデル)研究、大規模並列処理で今最も選ばれているバックエンド。

●PyTorch
Meta製で、世界中の研究コミュニティで圧倒的なシェアを持つバックエンド。PyTorchのエコシステム(既存モデルやアセット)をそのままKerasから活用できます。

これにより、『JAXで超高速にモデルを訓練し、そのモデルをPyTorchの環境で推論させる』といった、フレームワークの垣根を越えた運用がKerasのコードだけで完結することが可能になりました。

このようなKerasの進化で、『AIのパラダイムがJAXやPyTorchに移り変わっても、ユーザーはKerasのシンプルな書き方を1度覚えれば、最新の恩恵をすべて受けられる』という、ショレ氏が当初から掲げていた『人間ファースト』の理想を最も高い次元で体現しているのが、現在のKerasの姿です。




【参考】現在のショレ氏の主張

最後に、日経クロステックがまとめた『AIリーダーズ会議2026 Spring』のリポートの骨子を紹介します。


ショレ氏は、AGI(汎用人工知能)の進化については、下記のような認識を持っています。

2024年当時は、大量のデータによる事前学習によって、AGIが自発的に出現すると信じられていた。しかし一方で、事前学習ベースのLLMはベンチマークでは優秀な成績を収めても、実世界で運用したときの性能は大きく見劣りしていた。

これは当時のLLMがパターンを丸暗記していただけで、学習データから少し変化した場合に対応できず、幻覚(ハルシネーション)を起こしやすかったことが原因。

ところが2024年秋にオープンAIが「OpenAI o1」をリリースし、LLMが学習時と異なる運用環境下でも自律的に適応できる『テスト時適応(Test-Time Adaptation)』という事前学習とは異なるアプローチにシフトチェンジした!

これによって、その場での適応を必要とする問題で、突如として大きな進歩が見られることになった。しかし、最新のモデルが未知の問題を解けるようになったと考えるのは早計で、AGIの実現にはまだ及ばないと考える。




また、ここ数か月、私を悩ませている『AIがコードを自動的に生成してくれるのだから、コードを勉強しても無駄になるのではないか?』という点に関しても示唆に富むコメントを残してくれました。

『資源が効率的に使えるようになると、その資源の使用量がむしろ増える』という、19世紀の英国の経済学者William Stanley Jevons(ウィリアム・スタンリー・ジェボンズ)氏が発見したパラドックス。

この『ジェボンズのパラドックス』を引用して、『ジェボンズのパラドックスが働くため、エンジニアの需要は増える』とコメントしたのでした。

信じるか信じないかは、あなた次第ですが、これからも需要が増えていく分野の勉強にダイブしていきましょう!


コメント