毎日肖像画を模写する練習を続けた結果、この芸術家はいくつかの重要な特徴だけを描いた人間の顔を完全に描くことができるようになった。同様に、低解像度画像の限られた画像情報から、画像に対応する高解像度の詳細を機械が推測できるようになることを期待していますが、そのためには、アルゴリズムが画家のように画像の内容を「理解」できる必要があります。この時点で、従来のルールベースのアルゴリズムは圧倒され、出現しつつあるディープラーニングが超鮮明な画像の星空を照らしています。 図 1. 最新のピクセル再帰ネットワークを超高精細画像に応用した例。左の写真は低解像度の画像、右の写真はそれに対応する高解像度の画像、中央の写真はアルゴリズムによって生成された結果です。これは 4 倍超定義問題であり、辺の長さを元の 4 倍に拡張することを意味します。 ハードウェアの急速な発展により、携帯電話はわずか数年で数世代にアップデートされ、古い携帯電話で撮影した写真は高解像度の画面ではぼやけてしまいます。同様に、画像解像度の向上により、ネットワーク帯域幅への負荷が急激に増加しました。このように、画像超精細アルゴリズムが役立ちます。 長年保管されていた古い写真については、超クリアアルゴリズムを使用して細部を鮮明にします。ネットワーク転送の帯域幅の圧迫に直面した場合、最初に画像を圧縮して転送し、次に超クリアアルゴリズムを使用して復元することで、転送データ量を大幅に削減できます。 3次補間などの従来の幾何学的手法やフラグメントマッチングなどの従来のマッチング手法は、いずれもこのような要求を満たすには無力です。 ディープラーニングの出現により、アルゴリズムが画像に対して意味レベルの操作を実行できるようになりました。この記事では、画像の超精細化の問題に関するディープラーニング技術の最新の研究の進歩を紹介します。 ディープラーニングは画像から生まれたもので、その画像処理の主な技術は畳み込みニューラルネットワークです。畳み込みニューラルネットワークの起源については、業界では2012年のImageNetコンテストでのアレックスの素晴らしいパフォーマンスが広く知られています。たった5年しか経っていないのに、決まり文句になってしまった。したがって、この記事では畳み込みニューラル ネットワークの基本的な詳細については繰り返しません。以下では、畳み込みニューラル ネットワークを指すために CNN (Convolutional Neural Network) を使用します。 CNN の登場以来、多くの研究ホットスポットが出現しましたが、その中でも最も印象的な 5 つは次のとおりです。 深く幅広い探索: VGG ネットワークの出現は、CNN 検索の深さと幅における最初のブレークスルーを示しています。構造の探究: Inception とその派生型の出現により、モデルの深さがさらに増しました。 ResNet の出現により、ディープラーニングの深さは「その名の通り」、数百、数千の層にまで達しました。コンテンツ損失:画像スタイル転送はCNNの応用における小さなピークであり、Prismaが率いる小規模なスタートアップ企業群が出現しました。しかし、画像スタイル転送の真の技術的貢献は、事前トレーニング済みモデルの特徴マップを通じてセマンティック レベルで画像を生成することです。敵対的生成ネットワーク (GAN): GAN は機械学習の分野におけるアーキテクチャ上の革新ですが、最初に応用されたのは CNN でした。敵対的トレーニングを通じて、教師あり学習を活用して生成モデルを改善し、生成モデルの品質をより高いレベルに引き上げることができます。ピクセル CNN: ピクセル間の依存関係を導入することは、CNN モデル構造方法における大きな革新です。最高の効果を持つ画像を生成するために使用されますが、効率は低くなります。 これら 5 つのホット スポットはすべて、超高精細画像の問題に反映されています。以下、一つずつ詳しくご説明いたします。 CNNの最初のショット図 2. 画像超精細化問題に適用された最初の CNN ネットワーク構造。入力は低精細画像、出力は高解像度画像です。構造は、低精細画像の特徴抽出、低精細特徴の高解像度特徴へのマッピング、高解像度画像の再構築の 3 つのステップに分かれています。 画像の超高解像度問題の特徴は、低解像度画像と高解像度画像の情報の大部分が共有されていることです。この前提に基づいて、CNNが登場する前は、業界の解決策は、PCAやスパースコーディングなどの特定の方法を使用して、低解像度画像と高解像度画像を特徴表現に変換し、特徴表現をマッピングすることでした。 CNN は、従来の方法構造に基づいて、モデルを特徴抽出、非線形マッピング、特徴再構築の 3 つの部分に分割します。 CNN の特性により、3 つの部分の動作は畳み込みを使用して完了できます。そのため、モデル構造の説明は従来の方法と似ていますが、CNN は同時に共同でトレーニングできる統合されたエンティティであり、数学的に表現がより単純になります。 従来の手法の影は、モデルの解釈だけでなく、具体的な操作にも見られます。上記のモデルでは、互いに重なり合う可能性のある多数のパッチを抽出するためにデータを前処理する必要があります。これらのパッチの組み合わせが画像全体になります。上記の CNN 構造は、画像全体ではなくこれらのパッチに適用されます。すべての画像のパッチを取得した後、これらのパッチを組み合わせて最終的な高解像度画像を取得し、重複部分を平均化します。 より深く、より速く、より正確なCNN図 3. 残差ベースのディープ CNN 構造。この構造は、残差接続を使用して低解像度の画像を CNN の出力に追加し、高解像度の画像を取得します。つまり、低解像度の画像に欠けている高解像度の詳細を学習するために、CNN 構造のみが使用されます。 図 2 の方法は従来の方法よりもはるかに効果的ですが、いくつかの問題があります。 トレーニング層の数が少なく、視野が十分ではありません。トレーニングが遅すぎるため、ディープネットワークでは結果が悪くなります。複数の高解像度をサポートできません。 上記の問題に対処するために、図 3 のアルゴリズムでは、より深いネットワーク モデルの使用を提案しています。図 2 のアルゴリズムの問題を解決するために 3 つの手法が使用されます。 最初の技術は残差学習です。CNN はエンドツーエンドの学習です。図 2 の方法のように直接学習する場合、CNN は画像のすべての情報を保存し、高解像度の詳細を復元しながら低解像度画像のすべての情報を記憶する必要があります。このように、ネットワーク内の各層はすべての画像情報を保存する必要があり、情報過多につながり、ネットワークが勾配に対して非常に敏感になり、勾配消失や勾配爆発などの現象が簡単に発生してしまいます。画像超解像の問題では、CNN の入力画像と出力画像の情報の大部分が共有されます。残差学習は、画像の高精細な詳細情報のみを学習するアルゴリズムです。上図に示すように、CNN の出力に元の低解像度画像を加算すると高解像度画像が得られます。つまり、CNN が学習するのは高解像度画像と低解像度画像の差です。このように、CNN は非残差ネットワークよりも情報量が少なく、収束しやすく、より良い結果を達成できます。 高解像度画像を低解像度画像に加算または減算できる理由は、データの前処理中に、補間を使用して低解像度画像が高解像度画像と同じサイズに拡大縮小されるためです。そのため、画像は低解像度と呼ばれていますが、画像サイズは実際には高解像度の画像と同じです。 2 番目の手法は、高い学習率です。CNN で高い学習率を設定すると、通常、勾配爆発が発生します。そのため、高い学習率を使用する場合は、適応勾配クリッピングが使用されます。切り捨て間隔は[-θ/γ、θ/γ]です。ここで、γは現在の学習率、θは定数です。 3 つ目の技術は、データの混合です。最も理想的なアルゴリズムは、複数のデータごとにモデルをトレーニングすることですが、これは非常に多くのリソースを必要とします。そのため、この技術は、従来のアルゴリズムとは異なり、異なる倍数のデータ セットを混合してモデルをトレーニングし、それによって複数の倍数の高精細化をサポートします。 認識された損失これまで、CNN を使用して高解像度の問題を解決する場合、画像の高解像度を評価する方法は、CNN 生成モデルによって生成された画像と実際の画像間の損失関数 (通常はユークリッド距離) をピクセル単位で計算することでした。この損失関数によって得られるモデルは、ピクセルレベルでの規則性のみを捉えており、一般化能力は比較的弱いです。 知覚損失とは、CNN 生成モデルと実際の画像の両方をトレーニング済みネットワークに入力し、トレーニング済みネットワークの特定のレイヤーで 2 つの画像の活性化値を取得し、活性化値に対する損失関数を計算することを指します。 CNN は高レベルの特徴を抽出できるため、知覚損失に基づくモデルはより堅牢で説得力のある結果を学習できます。 図 4. 知覚損失に基づく画像スタイル転送ネットワーク。このネットワークは、画像の超精細度の問題にも使用できます。左側は、画像を操作するようにトレーニングされる変換ネットワークです。右側は、損失を計算するために使用される複数のレイヤーを含むトレーニング済みのネットワークです。 図 4 は、もともと高速な画像スタイル転送に使用される知覚損失ネットワークを示しています。この構造では、左側の Transform ネットワークをトレーニングして画像を生成する必要があり、生成された画像 Y、コンテンツ画像、スタイル画像を右側のトレーニング済み VGG ネットワークに入力して損失値を取得します。スタイル画像を削除し、コンテンツ画像を高解像度画像に変更し、入力を低解像度画像に変更すると、このネットワークを使用して超高解像度画像の問題を解決できます。 生成的敵対ネットワーク (GAN)図 5. 敵対的トレーニングの生成ネットワーク G と識別ネットワーク構造 D。上部は生成ネットワーク G で、深い層を持ち、残差ブロックとスキップ接続構造を使用します。下部は識別ネットワーク D です。 敵対的ニューラル ネットワークは、近年の機械学習分野における最大の革命的成果であると言えるでしょう。主なアイデアは、2 つのモデル G と D をトレーニングすることです。 G は生成ネットワークで、D は分類ネットワークです。G と D は両方とも、D の分類精度を使用してトレーニングされます。 G は、画像の超解像や画像の復元などの生成タスクに使用されます。 G が画像を生成した後、生成された画像と実際の画像が分類のために D に入れられます。敵対的ニューラル ネットワークを使用してモデルをトレーニングすることは、バランスを追求するプロセスです。つまり、G を変更せずに D をトレーニングして分類精度を向上させ、D を変更せずに G をトレーニングして分類精度を下げ、バランスが達成されるまで続けます。 GAN フレームワークにより、教師なし生成タスクで教師あり学習の利点を活用して改善することが可能になります。 GAN フレームワークに基づいて、生成ネットワークと分類ネットワークが定義されていれば、特定の生成タスクを完了できます。 この論文は、GAN を高解像度画像の問題に適用したものであり、その集大成と言えるでしょう。生成モデルは深く、残差ブロックとスキップ接続を使用します。知覚損失は GAN の損失関数に追加されます。 GAN の生成ネットワークと分類ネットワークを図 5 に示します。ここで、生成ネットワーク自体は、別の画像超解像アルゴリズムになることもできます。この論文では、GAN と非 GAN の違いを分析し、GAN は主に詳細に機能するものの、それ以上深く説明することはできないことを明らかにしました。 「説明不可能」も、GAN の現在の欠点の 1 つです。 ピクセルCNN図 5 の GAN は比較的良好な結果を達成できますが、解釈可能性が低いため、コピーされたという疑いを避けることは困難です。 実は、超高解像度の画像に関しては重要な問題があり、低解像度の画像が複数の高解像度の画像に対応する可能性があるため、問題が発生します。 低解像度画像のうち高解像度にする必要がある部分を A、B、C、D などの複数の部分に分割すると、A は A1、A2、A3、A4 に対応し、B は B1、B2、B3、B4 に対応するなどとなります。 A1、B1、C1、D1 が完全な高解像度の画像に対応していると仮定します。すると、既存のアルゴリズムによって A1、B2、C3、D4 が混在して生成され、ぼやけた高解像度の画像が生成される可能性があります。 上記の問題の存在を確認するために、極端な状況を想像してください。 図6. 超高精細画像のぼやけ問題の分析の図解。前半は、問題を分析するために使用されるデータセットの構築です。下部は、この問題に対する既存の損失関数の効果を示しています。比較すると、PixelCNN がこのぼやけを防ぐことができることがわかります。 画像のぼやけ問題の原因を分析するために、図 6 の上部では、MNist データセットに基づいて新しいデータセットが生成されます。生成方法は、MNISTデータセット内の画像Aの長さと幅を2倍に拡張し、各画像から2つの画像A1とA2を生成できます。A1では、Aは右下隅にあり、A2では、Aは左上隅にあります。 元の画像を低解像度画像として扱い、生成された画像を高解像度画像として扱います。図 6 の下半分に記載されている 3 つの方法を使用してトレーニングして得られたモデルは、画像を生成するときに図 6 の下半分の結果を生成します。つまり、各ピクセルが左上部分と右下部分に等しい確率で投影され、不正確な画像が生成される可能性があります。 PixelCNN の導入後は、ピクセル間の依存性によりこの状況は回避されます。 上記の問題を解決するためには、画像生成時に事前知識を導入する必要がある。人間の顔に関する知識を身につけた画家は、説得力のある高解像度の細部まで描くことができます。超高解像度画像の問題と同様に、事前の知識を使用して、どの高解像度の結果を選択するかをアルゴリズムに指示します。 超高精細画像の問題では、このような知識はピクセル間の相互依存性に反映されます。このようにして、高解像度バージョンでは、4 つの異なる部分 A、B、C、D が同じ選択を持つことが保証されます。 図 7. 画像超精細化問題を解決するための PixelCNN に基づく CNN ネットワーク構造。事前ネットワークは PixelCNN です。条件付けネットワークは画像生成ネットワークであり、その構造と機能は GAN の生成ネットワークや知覚損失の変換ネットワークに似ています。 モデルアーキテクチャを図 7 に示します。条件付きネットワークは、低解像度の画像に基づいて高解像度の画像を生成するネットワークです。 GAN の G ネットワークや知覚損失の変換ネットワークと同様に、ピクセル単位で独立して高解像度の画像を生成できます。先行ネットワークは、高解像度画像内のピクセル間の依存関係を高めるために使用される Pixel CNN コンポーネントであり、これによりピクセルは一貫した高解像度の詳細を選択し、より自然に見えるようになります。 では、Pixel CNN はどのように依存関係を追加するのでしょうか? Pixel CNN は、ネットワークを生成する際に、左上隅から右下隅までピクセルを生成します。現在のピクセルを生成する際には、以前に生成されたピクセルが考慮されます。 事前ネットワークと条件付きネットワークが混在している場合、PixelCNN が画像を生成するときに、以前に生成されたピクセルを考慮するだけでなく、条件付きネットワークの結果も考慮する必要があります。 要約する上記のアルゴリズムは、超鮮明画像の問題で使用される典型的な CNN 構造です。このほかにも、比較的良好な結果を達成している構造は数多くあります。 CNN ネットワークの構造が階層化されるにつれて、実用的なシナリオからますます遠ざかってしまいます。たとえば、GAN ベースのネットワーク構造のトレーニングは安定させることが難しく、結果が説明できません。また、PixelCNN ベースのネットワークはピクセルレベルで生成する必要があるため並列生成できず、生成効率が極めて低くなります。 さらに、実用的な観点から、データ方向でさらなる最適化を実行することもできます。例えば、現在のアルゴリズムの入力画像はすべて低解像度画像の3次補間によって得られています。では、小さなネットワークで得られた結果を初期値として使用することは可能でしょうか?たとえば、複数の小さなネットワークを直列に接続すると、大きなネットワークよりも良い結果が得られるかどうかなどです。 画像超解像問題は比較的単純な画像意味問題です。これは画像意味操作の始まりに過ぎないと思います。今後、CNNの出現により、ますます多くの画像処理問題が解決されるでしょう。 |
<<: 中国の「データブリックス」:AIインフラの構築に真剣に取り組む
>>: AI研究者の邢波氏:機械学習には明確な理論的枠組みが欠けており、評価の目標と方法を再定義する必要がある
COVID-19の世界的パンデミックにより、医療におけるテクノロジーの活用が加速しました。 2021...
[[280913]] Jiwei.comニュース(文/Jimmy)によると、北京軌道交通指揮センター...
現在、メタバースの分野は、誇大宣伝と新規プロジェクトの立ち上げ数の点で急速に成長しており、業界の市場...
1. はじめにインターネットに溢れる AI 関連の情報の大半は、一般の人向けに進歩を説明するものと、...
1956年、人工知能元年。その夏、米国ニューハンプシャー州ハノーバーの小さな町にある美しいアイビーリ...
[[397388]]画像はPexelsより私は2007年に卒業してすぐにGoogleで3年間働きま...
外資系サイバーセキュリティ企業サイランスは、人工知能(AI)アプリケーションの導入を阻む2つの主な障...
OpenAIはTikTokで具体的に何をしたいのでしょうか?最近、TikTok 上のソラのビデオの数...
ChatGPTからGPT4、DALL・E 2/3からMidjourneyまで、生成AIはこれまでにな...
転職すると3ヶ月貧乏になるが、転職すると3年間貧乏になるという諺があるようです。科学的な根拠はありま...
インダストリー 4.0 はよく知られたアイデアですが、アグリカルチャー 4.0 はあまり知られていな...
AIや5Gなどの新技術がもたらす変化により、顧客サービスシナリオは多様な変化を遂げており、兆レベル...
人工知能や脳の研究を考えるとき、人々はターミネーターマシンが世界を破壊するイメージを思い浮かべます。...