畳み込みニューラル ネットワークは、オブジェクト認識および画像分類タスクによりスケーラブルな方法を提供します。
テクノロジーの世界では多くの進歩が起こっています。人工知能と機械学習は、よく耳にする一般的なものです。
現在、これらのテクノロジーは、マーケティング、電子商取引、ソフトウェア開発から銀行、金融、医療に至るまで、ほぼすべての分野で使用されています。
AI と ML は広大な分野であり、現実世界の多くの問題を解決するためにその応用範囲を広げる取り組みが行われています。これらのテクノロジー内に多くの分岐が見られるのはこのためです。 ML は AI 自体のサブセットです。
畳み込みニューラル ネットワークは、最近人気が高まっている AI の分野の 1 つです。
この記事では、CNN とは何か、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 はさまざまな部分またはノード層で構成されます。各ノード層にはしきい値と重みがあり、別のノード層に接続されています。しきい値制限を超えると、データはこのネットワークの次の層に送信されます。
これらのレイヤーは、関連する特徴を学習するためにデータを変更する操作を実行できます。また、これらの操作は何百もの異なるレイヤーを繰り返し、画像の他の特徴を検出するために学習を続けます。
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) や音声認識にも役立ちます。この実際の例としては、Google が音声認識システムに CNN を使用していることが考えられます。
オブジェクトの再構築
CNN は、デジタル環境における実際のオブジェクトの 3D モデリングに使用できます。 CNN モデルは、画像を使用して 3D 顔モデルを作成することもできます。さらに、CNN は、バイオテクノロジー、製造、バイオテクノロジー、建築におけるデジタル ツインの構築にも役立ちます。
CNN はさまざまな分野で使用されています。
- ヘルスケア: コンピューター ビジョンを放射線科で使用すると、医師が人の体内の癌性腫瘍をより効率的に検出できるようになります。
- 農業: ネットワークは LSAT などの人工衛星からの画像を利用し、このデータを活用して肥沃な土地を分類できます。これは、土地の肥沃度レベルを予測し、収量を最大化するための効果的な戦略を開発するのにも役立ちます。
- マーケティング: ソーシャル メディア アプリケーションでは、誰かのプロフィールに投稿された写真内の人物を提案できます。これは、フォト アルバム内の人物にタグを付けるのに役立ちます。
- 小売: e コマース プラットフォームはビジュアル検索を使用して、ブランドがターゲット顧客が購入したい関連商品を推奨できるように支援します。
- 自動車: CNN は、乗客とドライバーの安全性を向上させるために自動車での使用を発見しました。これは、車線境界線検出、物体検出、画像分類などの機能を利用して行われます。これは、自動運転車の世界がさらに進化するのにも役立ちます。
CNN を学習するためのリソース
コーセラ:
Coursera には CNN に関するこのコース があり、受講を検討できます。このコースでは、コンピューター ビジョンが長年にわたってどのように進化してきたか、また現代社会における CNN の応用について学びます。
アマゾン:
CNN について詳しく学ぶには、次の書籍や講義を読むことができます。
- ニューラル ネットワークとディープ ラーニング: ディープ ラーニングとニューラル ネットワークのモデル、アルゴリズム、理論について説明します。
| プレビュー | 製品 | 評価 | 価格 | |
|---|---|---|---|---|
|
ニューラル ネットワークとディープ ラーニング: 教科書 | $44.82 | アマゾンで購入する |
- コンピューター ビジョンのための畳み込みニューラル ネットワークのガイド: この本では、CNN のアプリケーションとその概念について説明します。
| プレビュー | 製品 | 評価 | 価格 | |
|---|---|---|---|---|
|
コンピュータビジョンのための畳み込みニューラルネットワークガイド (コンピュータビジョンに関する総合講義) | $82.41 | アマゾンで購入する |
- Tensorflow を使用した実践的な畳み込みニューラル ネットワーク: この本の助けを借りて、Python と TensorFlow を使用してコンピューター ビジョンのさまざまな問題を解決できます。
| プレビュー | 製品 | 評価 | 価格 | |
|---|---|---|---|---|
|
TensorFlow を使用した実践的な畳み込みニューラル ネットワーク: モデリングを使用してコンピューター ビジョンの問題を解決します… | $15.89 | アマゾンで購入する |
- 高度な応用深層学習: この本は、CNN、深層学習、およびオブジェクト検出を含むその高度なアプリケーションを理解するのに役立ちます。
| プレビュー | 製品 | 評価 | 価格 | |
|---|---|---|---|---|
|
高度な応用深層学習: 畳み込みニューラル ネットワークとオブジェクト検出 | $26.49 | アマゾンで購入する |
- 畳み込みニューラル ネットワークとリカレント ニューラル ネットワーク: この本では、CNN と RNN について、またこれらのネットワークを構築する方法について説明します。
| プレビュー | 製品 | 評価 | 価格 | |
|---|---|---|---|---|
|
畳み込みニューラル ネットワークとリカレント ニューラル ネットワーク: 畳み込みニューラル ネットワークと… | $1.99 | アマゾンで購入する |
結論
畳み込みニューラル ネットワークは、人工知能、機械学習、深層学習の新興分野の 1 つです。現在の世界では、ほぼすべての分野でさまざまな用途に使用されています。その使用量の増加を見ると、さらに拡大し、現実世界の問題に取り組む際にさらに役立つことが期待されています。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)





