人工知能のプログラム実行体験と探求(Windows上)

文字認識や音声認識などの基礎的なAIプログラムを集めて、学生や技術者が学習できるようにWebサイトで公開している。Windows PCでの実行環境構築方法も用意されているため、利用者は興味関心や理解度の進展に応じて様々なAI技術を選択し、実際に動かしながら段階的に技術を習得できる。

目次

自然言語処理とコンピュータビジョンの融合

自然言語処理とコンピュータビジョンの融合

コンピュータビジョン:画像分類

コンピュータビジョン:物体検出

  • Albumentations物体検出データ拡張

    本プログラムでは、Albumentationsライブラリを使用してサンプル画像に対して複数の変換手法を組み合わせたデータ拡張を実行する。幾何学的変換(回転、スケール、平行移動)、色彩変換(明度、コントラスト調整)、ノイズ追加などの処理を適用し、バウンディングボックス座標を変換に合わせて自動調整する。拡張前後の画像とバウンディングボックスの変化を可視化することで、データ拡張の効果を確認できる。

コンピュータビジョン:人物検出

コンピュータビジョン:インスタンスセグメンテーション

コンピュータビジョン:セマンティックセグメンテーション

コンピュータビジョン:顔情報処理

コンピュータビジョン:姿勢推定

コンピュータビジョン:眼球運動

コンピュータビジョン:画像からの特徴抽出

画像処理,動画像処理

コンピュータビジョン:画像からの深度推定

コンピュータビジョン:トラッキングビジョン

画質改善

文字認識・音声認識

音声処理

シミュレーション・応用技術

  • 地形侵食シミュレーション

    【概要】Python + NumPyによる物理ベースの水力侵食シミュレーション。fBmノイズで初期地形を生成し、降雨・水流・土砂運搬・堆積の物理プロセスを統合計算。128×128グリッドで100m×100mスケールの地形を数百年の侵食過程で変化させ、自然な河川パターンと谷地形を生成する。

    地形侵食シミュレーション結果

ゲームAI

自然言語処理・LLM

  • LUKEによる日本語感情分析プログラム(ソースコードと実行結果)
    LUKEによる日本語感情分析プログラム LUKEによる日本語感情分析プログラム
    日本国憲法の分析結果
  • SucachiPy による形態素解析

    【概要】 日本語形態素解析ツール「SudachiPy」の体験を通じ、その技術と応用を学ぶ。SudachiPyは、多様な辞書と分割モードにより、日本語テキスト分析を実現する。プログラム実行で単語分割や品詞情報を確認でき、日本語処理の仕組みを理解できる。

    SucachiPy による形態素解析
    日本国憲法の分析結果
  • FastTextによる日本語文章類似度計算

    【概要】 FastTextは単語を数値ベクトルに変換する単語埋め込み技術で、部分文字列情報により未知語にも対応できる。本教材では、日本語文書を形態素解析で単語分割し、各単語のベクトルを平均して文書ベクトルを生成、コサイン類似度で文書間の意味的類似性を計算する。実行結果はヒートマップで可視化され、AIによる文書理解の仕組みを体験できる。

    FastText日本語単語ベクトル演算の結果
    FastText日本語単語ベクトル演算の結果
  • FastText日本語単語ベクトル演算

    【概要】FastText技術を確認する。FastTextは、Bojanowski, P., Grave, E., Joulin, A., & Mikolov, T. (2017). Enriching Word Vectors with Subword Information. Transactions of the Association for Computational Linguistics, 5, 135-146.で提案された単語埋め込み手法である。この技術は単語を文字n-gramに分解して学習することで、学習データに含まれていない未知語に対しても、その文字構成からベクトル表現を生成。機械翻訳、感情分析、文書分類などの自然言語処理で活用される。ここでは、日本語単語ベクトルの演算を実行し、「王様-男性+女性=女王」のような意味的関係を確認する。

    FastText日本語単語ベクトル演算の結果
  • 日本語BERT文脈埋め込み分析

    【概要】 BERTは文脈を考慮した単語埋め込み技術で、同一単語でも文脈により異なるベクトル表現を生成する。日本語BERT(tohoku-nlp/bert-base-japanese-v3)を用いて「手」の多義性を分析。身体部位としての「手」と方法・手段としての「手」のベクトル類似度を計算し、文脈による意味の違いを数値化。コサイン類似度とヒートマップで可視化し、BERTの文脈理解能力を実験的に確認する。

    FastText日本語単語ベクトル演算の結果
    FastText日本語単語ベクトル演算の結果
  • 多言語対応文埋め込み技術を用いた意味的類似性による単語クラスタリング(ソースコードと実行結果)

    【概要】 単語抽出 → 埋め込み → K-means → クラスタ表示を行う.Sentence Transformers/E5の利用により,文脈を考慮した意味理解(多義語対応: 文脈により異なる意味を区別可能)が可能.日英混在テキストでも統一的に処理可能.このプログラムでは,他のモデルとも比較できるようにしている 多義語対応: 文脈により異なる意味を区別可能)が可能.日英混在テキストでも統一的に処理可能.このプログラムでは,他のモデルとも比較できるようにしている.

    多言語対応文埋め込み技術による文書分析・単語クラスタリング
  • BERTopic による日本語トピックモデリング

    【概要】 BERTopicは、Transformer埋め込みとc-TF-IDFを組み合わせた日本語対応トピックモデリング手法である。従来のLDAより意味的に一貫したトピック抽出を実現し、カスタマーフィードバック分析や学術論文の研究動向分析に活用できる。

    BERTopic による日本語トピックモデリング
    日本国憲法の分析結果
  • ModernBERT による話者帰属句検出(ソースコードと実行結果)
    ModernBERT による話者帰属句検出(ソースコードと実行結果)

パワーポイントファイルの処理

  • PowerPoint差分検出

    【概要】2つのPowerPointファイル間の変更を自動検出するPythonプログラム。python-pptxライブラリとMD5ハッシュを使用して、テキスト変更・位置変更・サイズ変更・書式変更を検出し、レポートを生成する。

    PowerPoint差分検出

AI技術の基礎理論と解説

機械学習・深層学習の基礎実習

  • XGBoost機械学習体験

    【概要】XGBoostによるIrisデータセットの分類。決定木の数を変更して予測精度の変化を観察。機械学習の弱学習器組み合わせ概念を体験する。

    XGBoost分類結果の可視化
    XGBoost決定木の数による精度変化
  • データ前処理の例:欠損値補完とMinMaxスケーリング

    【概要】scikit-learnを使用。データ前処理として、欠損値補完とMinMaxスケーリングを実行し、データの変化を観察。機械学習での前処理の重要性を確認する。

    データ前処理の結果比較
  • ロジスティック回帰による分類性能の確認

    【概要】ロジスティック回帰による二値分類の性能評価を確認する。混同行列、AUC-ROC、分類レポートによる評価手法。Irisデータセット(特徴量が明確で分類境界が適度に複雑な標準的二値分類問題)を使用し、異なる評価指標の意味と解釈方法を確認する。

    ロジスティック回帰による分類結果
    混同行列の可視化
    AUC-ROC曲線の表示
  • Self-Attentionメカニズムの確認

    【概要】PyTorchによるSelf-Attentionの基本動作を体験する。TransformerのQuery・Key・Valueによる重み付き平均計算を実習し、アテンション重みの変化を数値で確認する。

    Self-Attentionの重み計算過程
    アテンション重みの可視化

機械学習の最適化と評価技術

  • Optunaによるハイパーパラメータ最適化

    【概要】TPEアルゴリズムによるハイパーパラメータ最適化技術を体験。従来手法との比較実験により最適化を確認でき、機械学習モデルの性能向上手法を確認できる。

    Optunaによる最適化過程
    ハイパーパラメータの最適化結果
  • ONNX機械学習モデル変換・推論

    【概要】scikit-learnモデルをONNX形式に変換し推論性能を比較する。ONNXの相互運用性と効果を確認。RandomForestClassifierでの変換精度と速度変化を確認。

    ONNX変換の実行結果
    推論速度の比較結果
  • SHAP説明可能性

    【概要】SHAPはゲーム理論のシャプレイ値を用いて機械学習モデルの各特徴量の貢献度を定量化する手法である。医療診断支援や金融審査などで活用される。

    SHAP値による特徴量の貢献度可視化