ここまで、電気・磁気・光といった様々な物理現象を使って「0」と「1」を記録する仕組みを見てきました。しかし、自然界の物理現象には、常に「あいまいに戻ろうとする力」が働いています。
ミクロの部屋に閉じ込めた電子は、時間の経過とともに壁をすり抜けて少しずつ漏れ出してしまいます。HDDの極小の磁石は、熱や経年劣化によって磁力が弱まり、向きがグラついてきます。CDの表面は、わずかなキズやホコリでレーザーが正しく反射しなくなるかもしれません。
それにもかかわらず、なぜコンピューターのデータは何年経っても、写真の1ピクセルの色さえ変わらずに「元のまま」でいられるのでしょうか。
そこには、デジタルの強みを活かした「データの不変性」と、万が一のミスを自動で直す「エラー訂正」という、驚くべき知恵が隠されています。
デジタルデータの不変性:白か黒かの圧倒的な壁
アナログ(カセットテープやビデオなど)の世界では、記録された「音の強さ」や「光の濃淡」が物理的に1%劣化すると、再生される成果物もそのまま1%劣化し、ノイズや画質の粗さとなって現れてしまいます。
しかし、デジタルは「0か1か」の二者択一です。
たとえば、「部屋の電気(電子)の量が70%以上なら『1』、それ未満なら『0』」というルールがあるとします。書き込まれた直後は100%だった電子が、数年経って劣化し、80%に減ってしまったとしましょう。
アナログであればこれは「劣化」ですが、デジタルにとっては「70%以上だから、今でも完璧な『1』である」と判定されます。多少の雑音や物理的な衰えを、この「閾値(しきいち:境界線のこと)」という圧倒的な壁によって完全にシャットアウトし、100%元の状態を維持できる。これがデジタルデータの不変性です。
エラー訂正(ECC):間違えても「自分で気づいて直す」仕組み
とはいえ、物理的な劣化が境界線を超えてしまい、「1」だったはずのデータが完全に「0」にひっくり返ってしまう(ビット反転)ことも、天文学的な量のデータを扱っていれば確率的に必ず発生します。
そこで現代のあらゆる記憶装置(RAM、SSD、HDDなど)には、「エラー訂正(ECC: Error Correction Code)」というバックアップシステムが標準装備されています。
仕組みを分かりやすく説明するために、言葉の例を出してみましょう。
あなたが誰かに「リンゴ」という言葉を伝えたいとします。もし、通信の途中で1文字がバグって「レンゴ」に変わってしまったら、受け取った相手は「ん?リンゴの間違いかな?」と推測して直すことができますよね。これは、日本語という言葉に「前後の文脈やルール」という余分な情報(冗長性)が含まれているからです。
コンピューターの記憶もこれと同じことをしています。データを保存するとき、元の0と1のデータだけでなく、「そのデータが正しいかどうかをチェックするための、特別な計算から導き出した数桁の数字(パリティビットなど)」をセットにしてこっそり保存しておくのです。
データを読み出すとき、コンピューターはセットの数字を使って一瞬で計算合わせを行います。
- 計算がピッタリ合えば = 「データは1文字も壊れていない」
- 計算がズレていれば = 「あっ、〇番目のスイッチが『0』にひっくり返っているな」
と検出し、その場で自動的に「1」へとひっくり返し直してから、何事もなかったかのように私たちの画面に出力します。
AIへのつながり:エラーが許されないAIの知識
この「長時間、絶対に0と1が狂わない工夫」は、現代の高度なAIの運用において、文字通り生命線となっています。
AIの頭脳は、数千億個もの「重み(パラメータ)」と呼ばれる細かな数字のパラメータで構成されています。もし、記憶装置の中でエラー訂正が行われず、この数字がたった1箇所でも「0」から「1」へ勝手に書き換わってしまったら、AI全体の計算の歯車が狂い、さっきまで流暢にしゃべっていたAIが突然意味不明な暴走を始めてしまうことすらあります。
コンピューターが物理現象の限界を超えて、100%の正確さで過去のデータを保持し続ける工夫。この信頼性があるからこそ、私たちはAIに膨大な知識を安心して記憶させ、いつでも同じ知能を再現させることができるのです。