畳み込みニューラル ネットワーク (CNN): はじめに
公開: 2022-08-30畳み込みニューラル ネットワークは、オブジェクト認識および画像分類タスクに対してよりスケーラブルな方法を提供します。
テクノロジーの世界では多くの進歩が起こっています。 人工知能と機械学習は、よく耳にする一般的なものです。
現在、これらのテクノロジーは、マーケティング、e コマース、ソフトウェア開発から銀行、金融、医療まで、ほぼすべての分野で使用されています。
AI と ML は広大な分野であり、現実世界の多くの問題を解決するためにそれらのアプリケーションを拡大するための努力が行われています。 これが、これらのテクノロジ内に多くの分岐が見られる理由です。 ML は AI 自体のサブセットです。
畳み込みニューラル ネットワークは、最近普及している AI の分野の 1 つです。
この記事では、CNN とは何か、CNN がどのように機能するか、そして現代世界での有用性について説明します。
さっそく飛び込みましょう!
畳み込みニューラル ネットワークとは
畳み込みニューラル ネットワーク (ConvNet または CNN) は、深層学習アルゴリズムを使用して画像を分析し、ビジュアルを分類し、コンピューター ビジョン タスクを実行する人工ニューラル ネットワーク (ANN) です。

CNN は、行列の乗算などの線形代数の原理を利用して、画像内のパターンを検出します。 これらのプロセスには複雑な計算が含まれるため、モデルをトレーニングするためにグラフィカル プロセッシング ユニット (GPU) が必要です。
簡単に言えば、CNN はディープ ラーニング アルゴリズムを使用して画像などの入力データを取得し、その画像のさまざまな側面にバイアスと学習可能な重みの形で重要度を割り当てます。 このようにして、CNN は画像を区別したり分類したりできます。
CNN: 簡単な歴史
畳み込みニューラル ネットワークは人工ニューラル ネットワークであるため、ニューラル ネットワークを反復することが重要です。
コンピューティングでは、ニューラル ネットワークはディープ ラーニング アルゴリズムを使用した機械学習 (ML) の一部です。 これは、人間の脳のニューロンがたどる接続パターンに似ています。 人工ニューラル ネットワークも、視覚野の配置方法から着想を得ています。

そのため、さまざまな種類のニューラル ネットワークまたは人工ニューラル ネットワーク (ANN) がさまざまな目的に使用されます。 その 1 つが、画像の検出と分類などに使用される CNN です。 1980 年代にポスドク研究者 Yann LeCun によって導入されました。
CNN の初期バージョン – LeCun にちなんで名付けられた LeNet は、手書きの数字を認識することができました。 その後、銀行や郵便サービスで、小切手の数字や封筒に書かれた郵便番号を読み取るために使用されました。
ただし、この初期バージョンにはスケーリングがありませんでした。 したがって、CNN は人工知能やコンピューター ビジョンではあまり利用されませんでした。 また、大きな画像をより効率的に処理するには、かなりの計算リソースとデータが必要でした。
さらに、2012 年に AlexNet は、複数のレイヤーで構成されるニューラル ネットワークを利用するディープ ラーニングを再検討しました。 この頃、技術が向上し、大規模なデータ セットと大量のコンピューティング リソースが利用できるようになり、コンピューター ビジョン アクティビティを効率的に実行できる複雑な CNN を作成できるようになりました。
CNN のレイヤー
CNN のさまざまな層を理解しましょう。 CNN の層を増やすと、その複雑さが増し、画像のより多くの側面または領域を検出できるようになります。 単純な特徴から始めて、最終的に画像を検出できるようになるまで、オブジェクトの形状やより大きな要素などの複雑な特徴を検出できるようになります。
畳み込み層
CNN の最初の層は畳み込み層です。 ほとんどの計算が行われるのは、CNN の主要な構成要素です。 入力データ、特徴マップ、フィルターなど、必要なコンポーネントが少なくなります。

CNN には、追加の畳み込み層を含めることもできます。 これにより、後続のレイヤーが前のレイヤーの受容野内のピクセルを視覚化できるため、CNN 構造が階層化されます。 次に、畳み込み層が与えられた画像を数値に変換し、ネットワークが価値のあるパターンを理解して抽出できるようにします。
プーリング層
プーリング層は次元を削減するために使用され、ダウンサンプリングと呼ばれます。 入力で使用されるパラメーターを減らします。 プーリング操作では、畳み込み層のように完全な入力に対してフィルターを移動できますが、重みがありません。 ここで、フィルターは、受容野の数値に結合関数を適用して、結果の配列を設定します。
プーリングには次の 2 つのタイプがあります。
- 平均プーリング:平均値は、フィルターが入力を掃引して出力配列に送信する受容野で計算されます。
- 最大プーリング:最大値のピクセルを選択し、フィルターが入力をスイープするときに出力配列に送信します。 最大プーリングは、平均プーリングよりも多く使用されます。
プーリングではかなりのデータが失われますが、それでも CNN には多くの利点があります。 効率を向上させながら、過剰適合のリスクと複雑さを軽減するのに役立ちます。 また、CNN の安定性も向上します。
完全接続 (FC) 層

名前が示すように、出力層のすべてのノードは、全結合層の前の層のノードに直接接続されます。 前のレイヤーとそのフィルターを介して抽出された特徴に基づいて画像を分類します。
さらに、FC 層は通常、(プーリング層や畳み込み層の場合のように) ReLu 関数ではなく、ソフトマックス活性化関数を使用して入力を正しく分類します。 これは、0 または 1 の確率を生成するのに役立ちます。
CNN はどのように機能しますか?
畳み込みニューラル ネットワークは、何百ものレイヤーで構成されています。 これらのレイヤーは、特定の画像のさまざまな特徴を識別することを学習します。
CNN はニューラル ネットワークですが、そのアーキテクチャは通常の ANN とは異なります。

後者は入力を多くの隠れ層に通して変換します。各層は一連の人工ニューロンで作成され、同じ層内のすべてのニューロンに完全に接続されます。 最後に、結果を表示する全結合層または出力層があります。
一方、CNN はレイヤーを 3 つの次元 (幅、深さ、高さ) で構成します。 ここで、ニューロンの層は、次の層のニューロンのそれぞれに関連付けるのではなく、小さな領域のニューロンにのみ接続します。 最後に、最終結果は確率スコアを持つ単一のベクトルで表され、深さ次元のみを持ちます。
ここで、CNN における「畳み込み」とは何かと尋ねるかもしれません。
畳み込みとは、2 つのデータセットをマージするための演算操作を指します。 CNN では、畳み込みの概念を入力データに適用し、情報をフィルタリングして特徴マップを出力します。
これにより、CNN で使用されるいくつかの重要な概念と用語にたどり着きます。
- フィルター: 特徴検出器またはカーネルとも呼ばれるフィルターは、3×3 などの特定の次元を持つことができます。 入力画像を調べて各要素の行列乗算を実行し、畳み込みを適用します。 さまざまな解像度のすべてのトレーニング画像にフィルターを適用し、畳み込み画像の出力を加えると、後続のレイヤーの入力として機能します。
- パディング: 偽のピクセルを挿入することにより、入力マトリックスをマトリックスの境界まで拡張するために使用されます。 畳み込みが行列のサイズを縮小するという事実に対抗するために行われます。 たとえば、9 × 9 のマトリックスは、フィルタリング後に 3 × 3 のマトリックスに変換できます。
- ストライディング: 入力よりも小さい出力を取得する場合は、ストライディングを実行できます。 フィルターが画像上をスライドする間、特定の領域をスキップできます。 2 つまたは 3 つのピクセルをスキップすることで、空間解像度を下げてより効率的なネットワークを作成できます。
- 重みとバイアス: CNN には、ニューロンに重みとバイアスがあります。 モデルはトレーニング中にこれらの値を学習でき、値はすべてのニューロンの特定の層全体で同じままです。 これは、各隠れニューロンが画像の異なる領域で同じ特徴を検出することを意味します。 その結果、オブジェクトを特定の画像に変換する際に、ネットワークはより寛容になります。
- ReLU : Rectified Linear Unit (ReLu) の略で、より効果的で高速なトレーニングに使用されます。 負の値を 0 にマップし、正の値を維持します。 ネットワークはアクティブ化された画像の特徴のみを後続のレイヤーに運ぶため、アクティブ化とも呼ばれます。
- 受容野:ニューラル ネットワークでは、すべてのニューロンが前の層のさまざまな場所から入力を受け取ります。 畳み込み層では、すべてのニューロンは、ニューロンの受容野と呼ばれる、前の層の制限された領域のみから入力を受け取ります。 FC層の場合、前層全体が受容野です。
実世界の計算タスクでは、通常、畳み込みは 3D フィルターを必要とする 3D イメージで実行されます。
CNN に戻ると、さまざまな部分またはノード層で構成されています。 各ノード層にはしきい値と重みがあり、別のノード層に接続されています。 しきい値の制限を超えると、データはこのネットワークの次のレイヤーに送信されます。
これらの層は、関連する機能を学習するためにデータを変更する操作を実行できます。 また、これらの操作は、画像の他の特徴を検出するために学習し続ける何百もの異なるレイヤーを繰り返します。

CNN の部分は次のとおりです。
- 入力レイヤー:これは、画像などの入力が取得される場所です。 高さ、幅、奥行きが定義された 3D オブジェクトになります。
- 1 つまたは複数の隠れ層または特徴抽出フェーズ:これらの層は、畳み込み層、プーリング層、および全結合層にすることができます。
- 出力レイヤー:ここに結果が表示されます。
画像を畳み込み層に渡すと、特徴マップまたは活性化マップに変換されます。 入力を畳み込んだ後、レイヤーは画像を畳み込み、結果を後続のレイヤーに渡します。
CNN は、特徴抽出フェーズで特徴を検出するために、多くの畳み込みとプーリング手法を実行します。 たとえば、猫の画像を入力すると、CNN は猫の 4 本足、色、2 つの目などを認識します。
次に、CNN の全結合層が、抽出された特徴に対する分類子として機能します。 ディープ ラーニング アルゴリズムが画像について予測した内容に基づいて、レイヤーが結果を生成します。
CNN の利点

高精度
CNN は、畳み込みを使用しない通常のニューラル ネットワークよりも高い精度を提供します。 CNN は、特にタスクに大量のデータ、ビデオ、画像認識などが含まれる場合に役立ちます。CNN は非常に正確な結果と予測を生成します。 したがって、それらの使用はさまざまな分野で増加しています。
計算効率

CNN は、他の通常のニューラル ネットワークよりも高い計算効率レベルを提供します。 これは、畳み込みプロセスを使用しているためです。 また、次元削減とパラメーター共有を使用して、モデルをより迅速かつ簡単に展開できるようにします。 これらの手法は、スマートフォンやラップトップなど、さまざまなデバイスで動作するように最適化することもできます.
特徴抽出
CNN は、手作業によるエンジニアリングを必要とせずに、画像の特徴を簡単に学習できます。 事前トレーニング済みの CNN を活用し、新しいタスクに取り組むときにデータをフィードすることで重みを管理できます。CNN はそれにシームレスに適応します。
CNNの応用
CNN は、さまざまな業界で多くのユース ケースに使用されています。 CNN の実際のアプリケーションには、次のようなものがあります。
画像分類

CNN は、画像分類で広く使用されています。 これらは、貴重な特徴を認識し、特定の画像内のオブジェクトを識別できます。 そのため、ヘルスケア、特に MRI などの分野で使用されています。 さらに、この技術は手書きの数字認識にも使用されています。これは、コンピューター ビジョンにおける CNN の最も初期のユース ケースの 1 つです。
物体検出
CNN は、画像内のオブジェクトをリアルタイムで検出し、それらにラベルを付けて分類することもできます。 したがって、この技術は自動運転車で広く使用されています。 また、スマート ホームや歩行者が車両の所有者の顔を認識することもできます。 また、AI を利用した監視システムでオブジェクトを検出してマークするためにも使用されます。


視聴覚マッチング
オーディオビジュアル マッチングにおける CNN の支援は、Netflix、YouTube などのビデオ ストリーミング プラットフォームの改善に役立ちます。また、「エルトン ジョンのラブ ソング」などのユーザー リクエストへの対応にも役立ちます。
音声認識

画像だけでなく、CNN は自然言語処理 (NLP) や音声認識にも役立ちます。 これの実例は、音声認識システムで CNN を使用する Google です。
オブジェクトの再構築
CNN は、デジタル環境で実際のオブジェクトを 3D モデリングする際に使用できます。 CNN モデルでは、画像を使用して 3D 顔モデルを作成することもできます。 さらに、CNN は、バイオテクノロジー、製造、バイオテクノロジー、建築におけるデジタル ツインの構築にも役立ちます。
さまざまな分野での CNN の使用には、次のものが含まれます。
- ヘルスケア:コンピューター ビジョンを放射線学で使用して、医師が人のがん性腫瘍をより効率的に検出できるようにすることができます。
- 農業:ネットワークは、LSAT などの人工衛星からの画像を利用し、このデータを活用して肥沃な土地を分類できます。 これは、土地の肥沃度レベルを予測し、収量を最大化するための効果的な戦略を開発するのにも役立ちます。
- マーケティング:ソーシャル メディア アプリケーションは、誰かのプロフィールに投稿された写真の人物を提案できます。 これは、フォト アルバム内の人にタグを付けるのに役立ちます。
- 小売: e コマース プラットフォームは、ビジュアル検索を使用して、ブランドがターゲット顧客が購入したい関連アイテムを推奨できるようにします。
- 自動車: CNN は、乗客とドライバーの安全性を向上させるために、自動車での使用を発見しました。 これは、車線検出、物体検出、画像分類などの機能を利用して行われます。これは、自動運転車の世界がさらに進化するのにも役立ちます。
CNN を学ぶためのリソース
コースラ:
Coursera には、受講を検討できる CNN に関するこのコースがあります。 このコースでは、コンピュータ ビジョンが何年にもわたってどのように進化してきたか、および現代世界における CNN のいくつかのアプリケーションについて説明します。
アマゾン:
CNN の詳細については、次の書籍や講義を参照してください。
- ニューラル ネットワークとディープ ラーニング:モデル、アルゴリズム、およびディープ ラーニングとニューラル ネットワークの理論について説明します。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
![]() | ニューラル ネットワークとディープ ラーニング: 教科書 | $49.00 | アマゾンで購入 |
- A Guide to Convolutional Neural Networks for Computer Vision:この本では、CNN のアプリケーションとその概念について説明します。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
![]() | コンピュータ ビジョンのための畳み込みニューラル ネットワークのガイド (コンピュータ ビジョンに関する総合講義) | $49.26 | アマゾンで購入 |
- Tensorflow を使用した実践的な畳み込みニューラル ネットワーク:この本を参考にして、Python と TensorFlow を使用してコンピューター ビジョンのさまざまな問題を解決できます。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
![]() | TensorFlow を使用したハンズオン畳み込みニューラル ネットワーク: モデリングを使用してコンピューター ビジョンの問題を解決する... | $15.24 | アマゾンで購入 |
- Advanced Applied Deep Learning:この本は、CNN、ディープ ラーニング、およびオブジェクト検出を含む高度なアプリケーションを理解するのに役立ちます。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
![]() | 高度な応用深層学習: 畳み込みニューラル ネットワークとオブジェクト検出 | $23.74 | アマゾンで購入 |
- Convolutional Neural Networks and Recurrent Neural Networks:この本では、CNN と RNN について、およびこれらのネットワークを構築する方法について説明します。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
![]() | 畳み込みニューラル ネットワークとリカレント ニューラル ネットワーク: 畳み込みニューラル ネットワークと... | $1.99 | アマゾンで購入 |
結論
畳み込みニューラル ネットワークは、人工知能、機械学習、深層学習の新たな分野の 1 つです。 ほぼすべての分野で、今日の世界でさまざまな用途があります。 その使用の増加を見ると、より拡張され、現実世界の問題に取り組む上でより役立つことが期待されます。