過去幾年來,擴散模型強大的影像合成能力已經得到充分證明。研究社群現在正在攻克一個更困難的任務:影片生成。近日,OpenAI 安全系統(Safety Systems)負責人 Lilian Weng 寫了一篇關於影片產生的擴散模型的部落格。
鈴部落格原文:影片生成任務本身就是影像合成的超集,因為影像就是單幀影片。視訊合成的難度要大得多,原因是:
1. 視訊合成也需要不同幀之間保持時間一致性,很自然,這需要將更多世界知識編碼到模型之中。
2. 相較於文字或圖像,收集大量高品質、高維度的視訊資料要更為困難,更罔論配對的文字 - 影片資料了。
如果你想了解擴散模型在圖像生成方面的應用,可參讀本文作者Lilian Weng 之前發布的博文《What are Diffusion Models?》鏈接:https://lilianweng.github.io/posts/2021-07 -11-diffusion-models/
從頭建模影片產生首先,我們先來看看如何從頭設計和訓練擴散視訊模型,也就是說不使用已經預先訓練好的影像產生器。
參數化和取樣這裡使用的變數定義與之前那篇文章稍有不同,但數學形式是一致的。令 ?~?_real 是從該真實資料分佈採樣的一個資料點。現在,在時間中加入少量高斯噪聲,創建出? 的一個有噪聲變體序列,記為:{?_? | ? = 1..., ?},其中噪聲隨? 的增加而增長,而最後的?(?_?)~?(?,?)。這個添加雜訊的前向過程是一個高斯過程。令?_? 和?_? 為這個高斯過程的可微噪聲調度(differentiable noise schedule):
為了表示?(?_?|?_?),其中0≤?≤?,有:≤?,有:
令對數信噪比為,則可將DDIM 更新表示為:
Salimans & Ho (2022) 的論文《Progressive Distillation for Sampressr.了一個特殊的? 預測參數:。研究表明,相較於 ? 參數,? 參數有助於避免影片生成中出現顏色變化問題。
? 的參數化是透過角座標中的技巧導出的。首先,定義 ?_?=arctan (?_?/?_?),由此可得 ?_?=cos ?, ?_?=sin ?, ?_?=cos ??+sin ??。 ?_? 的速度可以寫成: 然後可以推導出: DDIM 更新規則就可以據此更新:DDIM 更新規則就可以據此更新:
図 1: 角度座標の形式で更新ステップを分散する作業方法。その中で、DDIM はの方向に移動することで進化を続けています。 モデルの場合、? のパラメータ化は予測です
ビデオ生成タスクの場合、ビデオの長さを延長したり、フレーム レートを増加させるために、拡散モデルは複数のアップサンプリング ステップを実行する必要があります。これには、最初のビデオ ?^? に基づいて 2 番目のビデオ ?^? をサンプリングする機能が必要です。ここで、?^? は、?^? の自己回帰拡張または低フレーム レートのビデオの欠落フレームである可能性があります。対応するノイズの多い変数に加えて、?^? のサンプリングも ?^? に基づく必要があります。 Ho & Salimans らの 2022 年のビデオ拡散モデル (VDM) は、?^? のサンプリングが適切に行われるように、調整されたノイズ除去モデルを使用して再構築ガイダンス方法を実装することを提案しています。
提供されたノイズ除去モデルによると、?^? と ?^? はどこで再構築されますか。 ?_? は重み付け係数であり、サンプリング品質を向上させるために、より大きな ?_? を見つけることができます。同じ再構成ガイダンス方法を使用して、低解像度ビデオに基づくサンプルを高解像度サンプルに拡張することも可能であることに注意してください。
モデル アーキテクチャ: 3D U-Net と DiT
Vincent グラフ拡散モデルと同様に、U-Net と Transformer は依然として一般的なアーキテクチャの選択肢です。 Google は、U-net アーキテクチャに基づいた一連の普及ビデオ モデリングの論文を開発しており、OpenAI の最新の Sora モデルは Transformer アーキテクチャを利用しています。
VDM は標準の拡散モデル設定を使用しますが、ビデオ モデリング タスクにより適したものにするためにアーキテクチャにいくつかの変更を加えています。これは 2D U-net を拡張して 3D データを処理します。各特徴マップは 4D テンソル (フレーム数 x 高さ x 幅 x チャネル数) を表します。この 3D U-net は空間と時間に分解されます。つまり、各層は空間または時間の 1 つの次元のみを操作し、両方を同時に操作することはできません。
空間の処理: 2D U-net の元の 2D 畳み込み層は、空間専用の 3D 畳み込みに拡張されます。具体的には、3x3 畳み込みが 1x3x3 畳み込みになります。各空間的注意モジュールは依然として空間的注意に焦点を当てており、最初の軸 (フレーム) はバッチ ディメンションとして扱われます。
処理時間: 時間的注意モジュールは、各空間的注意モジュールの後に追加されます。最初の軸 (フレーム) に焦点を当て、空間軸をバッチ ディメンションとして扱います。この相対位置を埋め込んでフレームのシーケンスを追跡することができます。この時間的注意モジュールにより、モデルは良好な時間的一貫性を達成できます。
Ho らが 2022 年に提案した Imagen Video は、一連のカスケード拡散モデルに基づいており、ビデオ生成の品質を向上させ、出力を 24 フレーム レートで 1280x768 解像度のビデオにアップグレードできます。 Imagen Video アーキテクチャは次のコンポーネントで構成され、合計 7 つの拡散モデルになります。
条件付き入力としてテキスト埋め込みを提供するフリーズされた T5 テキスト エンコーダー。
基本的なビデオ普及モデル。
3 つの TSR (時間的超解像度) コンポーネントと 3 つの SSR (空間的超解像度) コンポーネントを含む、カスケード インターリーブ空間的および時間的超解像度拡散モデルのセット。図 3: Imagen Video のカスケード サンプリング プロセス。実際には、テキストの埋め込みは、基本モデルだけでなく、すべてのコンポーネントに挿入されます。
基本のノイズ除去モデルは、共有パラメータを使用してすべてのフレームに対して空間操作を同時に実行し、その後、時間層がフレーム間のアクティベーションをブレンドして、時間的一貫性をより良く実現します。このアプローチは、フレーム自己回帰手法よりも優れたパフォーマンスを発揮することが証明されています。
Rajah 4: Seni bina modul boleh dipisahkan ruang-masa dalam model penyebaran Video Imagen.Kedua-dua model SSR dan TSR adalah berdasarkan input upsampled yang digabungkan mengikut saluran dengan data bising ?_? SSR upsamples by bilinear resizes, while TSR upsamples by repeating frames or filling blank frames. Video Imej juga menggunakan penyulingan progresif untuk mempercepatkan pensampelan, memotong separuh langkah pensampelan yang diperlukan dengan setiap lelaran penyulingan. Dalam percubaan, mereka dapat menyaring kesemua 7 model resapan video kepada hanya 8 langkah pensampelan bagi setiap model tanpa kehilangan kualiti persepsi yang ketara. Untuk mengembangkan skala model dengan lebih baik, Sora menggunakan seni bina DiT (Diffusion Transformer), yang beroperasi pada tampalan ruang masa bagi kod video dan imej terpendam. Ia mewakili input visual sebagai jujukan blok spatio-temporal dan menggunakan blok spatio-temporal ini sebagai token input Transformer. Rajah 5: Sora ialah model Transformer resapan. . hanya Perhalusi lapisan baharu pada video atau elakkan latihan tambahan sepenuhnya. Model baharu ini mewarisi pengetahuan sedia ada tentang pasangan teks-imej, dengan itu membantu mengurangkan keperluan untuk pasangan teks-video.
Penalaan halus pada data videoMake-A-Video yang dicadangkan oleh Singer et al pada 2022 adalah untuk memanjangkan dimensi temporal berdasarkan model imej resapan yang telah dilatih, yang mengandungi tiga komponen utama:
1. . Model graf asas Vincent yang dilatih pada data pasangan teks-imej.
2. Lapisan lilitan dan perhatian Spatiotemporal membolehkan rangkaian merangkumi dimensi masa.3. Rangkaian interpolasi bingkai untuk penjanaan kadar bingkai yang tinggi. Rajah 6: Gambar rajah aliran kerja Buat-A-Video.理 Bentuk matematik skema penaakulan video akhir boleh ditulis seperti ini: Antaranya:
? Ia memasukkan teks
adalah teks yang dikodkan oleh BPE
P (.) adalah priori, diberikan pembenaman teks ?_? dan teks berkod BPE
hasilkan pembenaman imej ?_?:Bahagian ini dilatih pada data pasangan teks-imej, bukan pada video Perhalusi data.
は、一連の 16 フレームのビデオを生成する時空間デコーダーであり、各フレームは低解像度の 64x64 RGB 画像です。
は、生成されたフレーム間を補間することでフレームレートを効果的に向上させることができるフレーム補間ネットワークです。これは、ビデオ アップサンプリング タスクのマスクされたフレームを予測するために使用できる微調整されたモデルです。
は、画像解像度をそれぞれ 256x256 と 768x768 に高めることができる空間および時空間の超解像度モデルです。
は、最終的に生成されたビデオです。
時空間超解像度レイヤーには、擬似 3D 畳み込みレイヤーと擬似 3D アテンション レイヤーが含まれます:
擬似 3D 畳み込みレイヤー: 各空間 2D 畳み込みレイヤー (事前トレーニングされた画像モデルによって初期化) が続きます。時間 1D 層による (恒等関数によって初期化)。概念的には、2D 畳み込み層は最初に複数のフレームを生成し、次にそれらのフレームがビデオに調整されます。
疑似 3D アテンション レイヤー: 完全な時空間アテンション レイヤーに近似するために、各 (事前トレーニングされた) 空間アテンション レイヤーの後に時間的アテンション レイヤーをスタックします。図 7: 擬似 3D コンボリューション層 (左) とアテンション層 (右) の仕組み。
それらは次のように表現できます:
入力テンソルはどこですか?∈ℝ^{?×?×?×?×?} (バッチサイズ、チャネル数、フレーム数、高さに対応)と幅) ; の機能は時間と空間の次元を交換することです; flatten (.) は ?'∈ℝ^{?×?×?×??} に変換できる行列演算子ですが、 flatten⁻¹( .) 効果は逆です。
トレーニングの際、Make-A-Video ワークフローのさまざまなコンポーネントが個別にトレーニングされます。 1. デコーダー D^?、前の P、および 2 つの超解像度コンポーネントは、ペアのテキストを使用せずに画像のみで最初にトレーニングされます。
2. 次に、新しい時間レイヤーを追加します。これは恒等関数に初期化され、ラベルのないビデオ データで微調整されます。Wu らが 2023 年に提案した Tune-A-Video は、単一サンプルのビデオ微調整を可能にする、事前トレーニングされた画像拡散モデルの拡張です。 =1,...,?}、説明プロンプト ? と組み合わせた場合、タスクの目標は、わずかに編集された関連性のあるテキスト プロンプト ?* に基づいて新しいビデオ ?* を生成することです。たとえば、? = 「男はスキーをしています」は、?* ="スパイダーマンはビーチでスキーをしています" に拡張できます。 Tune-A-Video は、オブジェクトの編集、背景の変更、スタイルの転送用に設計されています。
2D 畳み込み層の拡張に加えて、Tune-A-Video の U-Net アーキテクチャには、前のフレーム内の関連する位置をクエリすることによって時間的一貫性を実現できる ST-tention (時空間的注意) モジュールも統合されています。フレーム ?_?、前のフレーム ?_{?-1}、および最初のフレーム ?_1 (クエリ?、キー?、および値?に投影される) の潜在的な特徴を考慮すると、ST-Attendance は次のように定義されます。
図 8: Tune-A-Video アーキテクチャの概要。まず、サンプリング ステージの前に、単一のビデオに対して軽量の微調整ステージを実行します。新しく追加されたため、時間的セルフアテンション (T-Attn) レイヤー全体が微調整されることに注意してください。ただし、微調整段階では、ST-Attn と Cross-Attn のクエリ プロジェクションのみが更新されます。以前のグラフの知識を保持します。 ST-Attn は時空間の一貫性を向上させることができ、Cross-Attn はテキストとビデオの位置合わせを最適化できます。
2023 年に Esser らによって提案された Gen-1 モデル (Runway) は、テキスト入力に基づいて特定のビデオを編集するタスクをターゲットとしています。生成条件 p (? | ?,c) を考慮する際に、ビデオの構造と内容を別々に扱います。しかし、これら 2 つの側面を明確に分離するのは簡単ではありません。
コンテンツ ? はビデオの外観と意味を指し、条件付き編集のためにテキストからサンプリングできます。ビデオ フレームの CLIP 埋め込みはコンテンツを適切に表現し、構造的特徴とほぼ直交したままになります。
構造 ? は、オブジェクトの形状、位置、時間変化などの幾何学的特性とダイナミクスを記述し、入力ビデオからサンプリングされます。奥行き推定やその他のタスク固有の補助情報 (人間のビデオ合成のための人間のポーズや顔の識別情報など) を使用できます。
Gen-1 でのアーキテクチャの変更はかなり標準的です。つまり、残差モジュール内のすべての 2D 空間畳み込み層の後に、そのアテンション モジュール内のすべての 2D 空間アテンションの後に 1D 時間畳み込み層を追加します。モジュールの後に 1D 時間アテンション モジュールを追加します。 。トレーニング中に、構造変数 ? は拡散潜在変数 ? と連結され、コンテンツ変数 ? はクロスアテンション層に提供されます。推論時に、CLIP 埋め込みは事前変換によって変換され、CLIP テキスト埋め込みから CLIP 画像埋め込みに変換されます。図 9: Gen-1 モデルのトレーニング プロセスの概要。
Blattmann et al. が 2023 年に提案したビデオ LDM は、最初に LDM (潜在拡散モデル) 画像ジェネレーターをトレーニングしました。その後、モデルが微調整されて、時間的次元が追加されたビデオが生成されます。この微調整プロセスは、符号化された画像シーケンスに新しく追加された時間レイヤーに対してのみ使用されます。ビデオ LDM の時間レイヤー(図 10 を参照) は、既存の空間レイヤー とインターリーブされ、これらの空間レイヤーは微調整中にフリーズされたままになります。つまり、ここでは新しいパラメータ のみが微調整され、事前トレーニングされた画像バックボーン モデル パラメータは微調整されません。ビデオ LDM のワークフローは、最初に低フレーム レートのキーフレームを生成し、次に 2 ステップの暗黙的なフレーム補間プロセスを通じてフレーム レートを上げます。 長さ ? の入力シーケンスは、ベース画像モデルの画像のバッチ (つまり、?・?) に解釈され、 時間レイヤーのビデオ形式にサイズ変更されます。学習された融合パラメータαを介して時間層出力α'と空間出力αを組み合わせるスキップ接続が存在する。実際には、(1) 時間的注意、(2) 3D 畳み込みベースの残差モジュールの 2 つのタイプの時間的混合層が実装されます。
図 10: ビデオ ジェネレーターに拡張された画像合成用の事前トレーニングされた LDM。 B、?、?、?、? はそれぞれバッチ サイズ、シーケンス長、チャネル数、高さ、幅です。 ?_S はオプションの条件/コンテキスト フレームです。
しかし、LDM の事前トレーニングされたオートエンコーダーにはまだ問題があります。画像のみを表示でき、ビデオは表示できません。これを直接使用してビデオを生成すると、時間的な一貫性が低く、ちらつきアーティファクトが生成されます。したがって、ビデオ LDM は、デコーダに追加の時間レイヤを追加し、3D 畳み込みで構築されたブロックごとの時間弁別器を使用してビデオ データを微調整しますが、エンコーダは変更されず、事前トレーニングされたデータをそのまま維持できます。 LDMを再利用しました。時間デコーダの微調整中、フリーズ エンコーダはビデオの各フレームを個別に処理し、ビデオ認識弁別器を使用してフレーム間で時間的に一貫した再構築を強制します。 Rajah 11: Aliran kerja latihan autoencoder dalam model penyebaran laten video. Matlamat penalaan halus pengekod adalah untuk mendapatkan ketekalan temporal melalui diskriminator silang bingkai baharu, manakala pengekod kekal tidak berubah. Serupa dengan Video LDM, reka bentuk seni bina Stable Video Diffusion (SVD) yang dicadangkan oleh Blattmann et al pada tahun 2023 juga berdasarkan LDM, di mana lapisan temporal dimasukkan selepas setiap lilitan ruang dan lapisan perhatian, tetapi SVD. adalah Penalaan halus dilakukan pada keseluruhan tahap model. Video latihan LDM dibahagikan kepada tiga peringkat: 1 pra-latihan gambar rajah Vincent adalah sangat penting, membantu meningkatkan kualiti dan keupayaan untuk mengikuti arahan. 2 Adalah berfaedah untuk memisahkan pra-latihan video, yang sepatutnya dilakukan pada set data terkumpul berskala lebih besar. 3 Gunakan video pra-sari kata yang lebih kecil dan tinggi untuk penalaan halus video berkualiti tinggi. SVD secara khusus menekankan peranan kritikal pemasangan set data pada prestasi model. Mereka menggunakan saluran paip pengesanan klip untuk mendapatkan lebih banyak klip daripada setiap video, dan kemudian menggunakan tiga model penanda sari kata yang berbeza padanya: (1) CoCa untuk bingkai di antara, (2) V-V untuk sari kata video BLIP, (3) menggunakan LLM untuk anotasi berdasarkan dua anotasi pertama. Mereka kemudiannya boleh terus menambah baik set data video dengan mengalih keluar klip video dengan kurang gerakan (menapis dengan mengira skor aliran optik rendah pada 2 fps) dan membersihkan teks yang berlebihan (menggunakan pengecaman aksara optik untuk mengenal pasti aksara dengan jumlah teks yang banyak). teks), dan alih keluar video yang kelihatan tidak cukup cantik (gunakan pembenaman CLIP untuk menganotasi bingkai pertama, tengah dan terakhir setiap video dan mengira skor estetik dan persamaan imej teks). Percubaan menunjukkan bahawa menggunakan set data berkualiti tinggi yang ditapis menghasilkan kualiti model yang lebih baik, walaupun set data ini jauh lebih kecil. Untuk kaedah yang mula-mula menjana bingkai utama jauh dan kemudian menggunakan peleraian super temporal untuk interpolasi, cabaran utama ialah cara mengekalkan ketekalan temporal berkualiti tinggi. Lumiere yang dicadangkan oleh Bar-Tal et al pada tahun 2024 menggunakan seni bina U-Net (STUNet) spatio-temporal, yang boleh menghasilkan video berterusan untuk sepanjang masa dalam satu laluan, supaya tidak perlu bergantung pada TSR ( komponen resolusi super temporal. STUNet menurunkan sampel video dalam kedua-dua dimensi temporal dan ruang dan oleh itu adalah mahal dari segi pengiraan dalam ruang terpendam temporal-spatial yang padat. Rajah 12: Lumiere tidak memerlukan model TSR (temporal super-resolusi). Disebabkan oleh had memori, rangkaian SSR lanjutan boleh menggunakan hanya segmen pendek video, jadi model SSR boleh menggunakan set segmen video yang lebih pendek tetapi bertindih. STUNet dapat menurunkan sampel dan menaikkan video secara serentak dalam dimensi temporal dan ruang selepas dilanjutkan pada U-Net graf Vincent yang telah dilatih. Modul berasaskan konvolusi terdiri daripada lapisan Vincent yang telah dilatih, diikuti oleh konvolusi spatiotemporal yang terurai. Dan modul berasaskan perhatian pada tahap U-Net berbutir paling kasar terdiri daripada modul graf Vincentian yang telah terlatih ini, diikuti dengan perhatian sementara. Hanya lapisan yang baru ditambah memerlukan latihan lanjut. . Tiada penyesuaian latihan Ia juga mungkin untuk mempunyai video output model graf Vincentian yang telah terlatih tanpa menggunakan sebarang latihan, yang agak mengejutkan. Jika kita hanya mencuba urutan kod tersembunyi secara rawak dan kemudian membina video menggunakan imej sepadan yang dinyahkod, tiada jaminan ketekalan temporal antara objek dan semantik. Text2Video-Zero, yang dicadangkan oleh Khachatryan et al pada tahun 2023, membolehkan penjanaan video tanpa tangkapan sifar, tanpa latihan dengan melengkapkan model penyebaran imej terlatih dengan dua mekanisme utama untuk ketekalan temporal. 1. Mensampel jujukan kod tersirat dengan dinamik gerakan untuk memastikan ketekalan temporal adegan dan latar belakang global. 2. Gunakan perhatian bingkai silang baharu (perhatian setiap bingkai pada bingkai pertama) untuk memprogram semula perhatian diri peringkat bingkai untuk memastikan ketekalan konteks, penampilan dan maklumat identiti perkara latar depan. Rajah 14: Gambarajah skematik aliran kerja Text2Video-Zero. 1. Tentukan arah ?=(?_?, ?_?)∈ℝ² untuk mengawal adegan global dan pergerakan kamera secara lalai, tetapkan ?=(1, 1). Tentukan hiperparameter lain λ>0 untuk mengawal jumlah gerakan global. 2 Mula-mula sampel secara rawak kod tersembunyi bingkai pertama 3 Gunakan model resapan imej yang telah terlatih (seperti model Stable Diffusion (SD) dalam kertas) untuk melakukan Δ?≥0 DDIM ke belakang. langkah kemas kini, dan dapatkan kod tersirat yang sepadan , di mana ?'=?-Δ?. 4 Untuk setiap bingkai dalam jujukan kod tersirat, gunakan operasi herotan (yang ditakrifkan sebagai ?^?=λ(?-1)? ) untuk melaksanakan terjemahan gerakan yang sepadan, dan dapatkan 5. untuk Semua Menggunakan langkah ke hadapan DDIM, kami mendapat Selain itu, Text2Video-Zero juga menggantikan lapisan perhatian kendiri dalam model SD pra-latihan dan menggantikannya dengan perhatian bingkai silang baharu yang merujuk bingkai pertama mekanisme daya. Matlamatnya adalah untuk mengekalkan konteks, rupa dan maklumat identiti objek latar depan dalam hasil video yang dihasilkan. Terdapat juga pilihan untuk menggunakan topeng latar belakang untuk menjadikan peralihan latar belakang video lebih lancar dan meningkatkan lagi ketekalan latar belakang. Andaikan bahawa kami telah menggunakan beberapa kaedah untuk mendapatkan topeng latar depan yang sepadan bagi bingkai ?_?, dan kemudian operasi pelicinan latar belakang boleh menggabungkan kod tersembunyi sebenar dan kod tersembunyi yang diherotkan oleh langkah penyebaran mengikut matriks latar belakang berikut: di mana ialah kod tersembunyi sebenar, adakah kod tersembunyi diherotkan pada latar belakang, ? ialah hiperparameter, ditetapkan ?=0.6 dalam eksperimen kertas ini. Text2Video-Zero boleh digabungkan dengan ControlNet, di mana pada setiap langkah masa penyebaran ?=?,...,1, setiap bingkai dipralatih menggunakan ControlNet pada (?=1,...,?) salin cawangan dan tambah output cawangan ControlNet ke sambungan langkau U-Net utama. ControlVideo yang dicadangkan oleh Zhang et al pada tahun 2023 bertujuan untuk menjana video berdasarkan gesaan teks dan jujukan gerakan (seperti peta kedalaman atau tepi) . Model ini dilaraskan berdasarkan ControlNet, dengan tiga mekanisme baharu ditambah: 1 Perhatian silang bingkai: Tambahkan interaksi silang bingkai lengkap dalam modul perhatian kendiri. Ia memperkenalkan interaksi antara semua bingkai dengan memetakan bingkai tersembunyi untuk semua langkah masa ke matriks ?,?,?, tidak seperti Text2Video-Zero yang memfokuskan semua bingkai pada bingkai pertama. 2. Mekanisme licin bingkai berjalin mengurangkan kesan kelipan dengan menggunakan interpolasi bingkai pada bingkai berselang-seli. Pada setiap langkah masa ?, yang lebih licin menginterpolasi bingkai genap atau ganjil untuk melicinkan klip tiga bingkai yang sepadan. Ambil perhatian bahawa bilangan bingkai berkurangan dari semasa ke semasa selepas langkah pelicinan. 3. Pensampel berlapis boleh memastikan ketekalan temporal video panjang di bawah kekangan ingatan. Video panjang akan dibahagikan kepada berbilang video pendek dan bingkai utama akan dipilih untuk setiap video pendek. Model pra-menjana bingkai utama ini menggunakan perhatian bingkai silang penuh untuk ketekalan jangka panjang, dan setiap video pendek yang sepadan disintesis secara berurutan berdasarkan bingkai utama ini. Lien original : https://lilianweng.github.io/posts/2024-04-12-diffusion-video/
以上是在Sora之後,OpenAI Lilian Weng親自撰文教你從頭設計影片產生擴散模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!