Lucky Life Manのブログ

日記の延長みたいなもの

機械学習型AIってプログラミング(従来型)で実現できるんじゃね!?

世の中AI、AI、AIってAIを搭載しているってだけで、商品価値などが上がるような気がするが、機械学習AIって従来のプログラミングで代替できるんじゃねと思ってしまうため、それこそChatGPTに聞いてみた。

プログラミング(従来型)と機械学習の違い

  • 従来のプログラム:プログラマが「入力 → ロジック(手続き・条件・ループ)→ 出力」の流れを明示的に記述します。例えば「もし温度が30度以上ならクーラーを稼働する」「請求書に ‘合計金額 > 10万円’ があれば担当に通知」など、ルールが明確であれば実装できます。 

  • 機械学習:大量のデータを与え、「どういうルール(関数)なら入力から望ましい出力になるか」をモデルが“学習”します。つまり、プログラマが細かくルールを全て書くのではなく、データからパターンを抽出します。

  • キーとなる違い:誰がルールを作るか。

    • 従来プログラム → 人間がルールを定義。

    • 機械学習 → モデルがデータからルールを「発見」または「最適化」します。


✅ “普通のプログラム”で十分な場面

あなたがシステム業務に携わるSE/インフラ領域という背景を考えると、以下のようなケースでは従来のプログラム(ルール/手続き型)が十分です:

  • ログ監視やシステムアラート:決まった条件(閾値超、エラーコード出現など)でトリガーする。

  • インフラ構成管理:構成が固定化されており、「このパラメータがこうならこう動く」と定義できる。

  • 定型データ処理:請求書処理、スケジュール通知など、パターンが明確な業務。

これらは “もし‐こうだ/ならば‐こうする” といった明確なロジック実装が可能で、機械学習を使うまでもないことが多いです。


⚠️ 機械学習を検討すべき場面

逆に、以下のような状況では機械学習を検討すべきです:

  • 入力と出力の関係が複雑で明文化しづらい。例えば、膨大なログデータから「この構成変更が将来障害になるか」を予測するなど。

  • ルールが時間とともに変化する/例外が多い。従来ルールベースでは保守が困難。機械学習だとデータ再学習で対応可能。

  • 大量のデータがあり、「パターンを機械が見つける方が効率的」な場合。たとえば、機器の稼働ログから劣化を予測する、ネットワーク異常検知、など。


🔍 つまり「作成できないわけではないが…」

– はい、機械学習を使わなくても、普通のプログラムで “動くもの” は実用できます。
– しかし、「より柔軟に」「未知のパターンに対応」「継続的に改善する」ことを目的とするなら、機械学習が有効なアプローチです。
– また、機械学習を導入するためには「データ」「学習アルゴリズム」「運用・監視の仕組み」が必要で、従来プログラムよりも設計・実装の難易度/コストが上がることも念頭におくべきです。

 

では、AIがここまで騒がれる以前にファジーという理論があったが、機械学習AIとファジーの違いをこれまたChatGPTに聞いてみた。

ファジー機械学習AIとの違い

結局、機械学習AIとは確率論で絶対的な正解ではないが、学習していけばいくほど正解確率が上がるというもののようですね。今後、AIがいっぱい勉強すればどんどん頭が良くなっていき、100点に近づくってことですかね。

こんなところで、高校生のときに勉強した確率・統計の知識が必要となるなんて。当時は、こんな難しいこと将来大した役に立たないと思っていたが、AIのスペシャリストになるにはちゃんと勉強しておけばよかった。