【ITニュース解説】Classifying Galaxies with Deep From Stardust to Code: Building a Neural Network to Classify Galaxies
2025年09月16日に「Dev.to」が公開したITニュース「Classifying Galaxies with Deep From Stardust to Code: Building a Neural Network to Classify Galaxies」について初心者にもわかりやすく解説しています。
ITニュース概要
AIが銀河の形を自動分類するプロジェクトを紹介。画像認識に強い「畳み込みニューラルネットワーク(CNN)」を使い、渦巻銀河と楕円銀河を区別するAIモデルを構築。データ準備からモデル開発(TensorFlow/Keras)、訓練、Webアプリ公開まで、開発の一連の流れを解説している。
ITニュース解説
このプロジェクトは、広大な宇宙に存在する無数の銀河を、人工知能(AI)を使って自動的に分類する試みである。これまで天文学者は、銀河をその形状によって渦巻銀河や楕円銀河といったカテゴリーに分類する作業を、一世紀以上にわたり人間の目で行ってきた。この手作業を、機械学習モデルである「畳み込みニューラルネットワーク(CNN)」を用いて、特に渦巻銀河と楕円銀河の二種類に分類するシステムを構築することが目標だった。この取り組みは、データの準備から、AIモデルの学習、そして最終的に誰でも利用できるウェブアプリケーションの形で公開するまでの一連の流れとして進められた。
銀河の分類は一見すると簡単に見えるかもしれない。渦巻銀河は優雅な腕を持っているのに対し、楕円銀河は滑らかで特徴のない塊のように見えるからだ。しかし、実際の天体観測データは、ノイズが多く、銀河がかすかにしか見えず、画像の解像度が低い場合が多いため、専門家であっても判断に迷うことがある。このような難しい条件下で、機械学習モデルが人間でも見分けにくい微妙な違いを捉え、正確に銀河を自動分類できるのか、という点がこのプロジェクトの大きな問いだった。
この課題に取り組むために、事前に「これは渦巻銀河」「これは楕円銀河」と正解が付けられた銀河の画像データセットが使用された。画像はすべて256×256ピクセルに統一され、一般的なカラー画像と同じRGB形式で保存されていた。モデルの性能を適切に評価するため、このデータセットはAIが学習に使う「訓練データ」と、学習後、モデルが一度も見たことのない画像でどれだけ正確に分類できるかをテストする「テストデータ」に分けられた。データの前処理として、画像のピクセル値を0から1の範囲に変換する「正規化」が行われ、これによりモデルが安定して学習できるようになる。さらに、画像を反転させたり、回転させたりする「データ拡張」という手法も試された。これは、モデルが様々な角度や向きの銀河にも対応できるよう、汎用性を高めるための工夫である。
プロジェクトの根幹をなしたのは、畳み込みニューラルネットワーク(CNN)という種類のAIモデルである。このCNNは、主に以下の層で構成されていた。まず、「畳み込み層」と「ReLU層」が連携して、画像の中から輪郭、曲線、模様といった視覚的な特徴を自動的に見つけ出す役割を担う。次に、「MaxPooling層」は、見つけ出された特徴の重要な部分を保ちながら、データのサイズを小さくする役割を持つ。これにより、計算量を減らし、モデルが画像の全体的な特徴を捉えやすくなる。そして、「全結合層」は、これらの見つけ出された特徴情報を組み合わせて、最終的な分類の判断を下す。最後に、「Softmax出力層」が、その銀河が渦巻銀河である確率、または楕円銀河である確率を数値で示し、最も確率の高い方を予測結果とする。このモデルは、Googleが提供するTensorFlowとKerasというAI開発用のツールを用いて構築され、一度に32枚の画像を処理しながら(バッチサイズ32)、データ全体を10回繰り返し学習させた(10エポック)。
初期の学習段階では、モデルはほとんどすべての銀河を渦巻銀河だと予測してしまうなど、うまく機能しなかった。これは、データセット内の渦巻銀河の数が楕円銀河よりも多かったため、モデルが渦巻銀河に偏って学習してしまったことが一因である。この問題に対処するため、学習データの分割方法を調整したり、データセット内の銀河の種類ごとの数を均等にする「クラスのバランス調整」を行ったり、学習の進め方に関する細かい設定(ハイパーパラメータ)を微調整したりするなどの工夫が重ねられた。これらの改善によって、モデルの性能は大幅に向上した。
最終的なテストデータでの正解率は約XX%に達した。また、モデルがどの銀河を正しく分類し、どの銀河を誤って分類したかを示す混同行列という評価指標からも、渦巻銀河と楕円銀河をある程度区別できることが確認された。しかし、一部の判断が非常に難しい銀河については、モデルも誤分類をすることがあり、これは人間が分類する際にも直面するのと同じような課題がAIモデルにも現れることを示唆している。例えば、ある銀河は実際には楕円銀河だったにもかかわらず、モデルは渦巻銀河と予測してしまうといったケースも見られた。
このプロジェクトを通して、いくつかの重要な学びが得られた。一つ目は、「バランスの取れたデータセットが重要である」という点だ。モデルが初期に渦巻銀河ばかり予測したのは、渦巻銀河のデータが多かったため、その偏りに引っ張られてしまったからである。そのため、データセット内の各クラスの数を均等にすることが、公平で正確なモデルを構築する上で不可欠だとわかった。二つ目は、「検証の重要性」である。学習中にモデルの性能が非常に良く見えても、それは学習したデータに特化しすぎているだけで、初めて見るデータには全く対応できない「過学習」という状態である可能性がある。これを避けるためには、学習に使うデータとは別の「検証データ」で定期的にモデルの性能を確認することが極めて重要だと認識した。三つ目は、「デプロイ(公開)がプロジェクトを完結させる」という点だ。どれほど優れたAIモデルを構築しても、それが誰にも使われなければ単なるコードの塊に過ぎない。今回、Streamlitというツールを使って、学習したモデルを実際に動くウェブアプリケーションとして公開することで、このプロジェクトは具体的な価値を持つものとして完成し、その成果を多くの人が体験できるようになった。