Rumah > Peranti teknologi > AI > Bagaimana saya menulis esei teratas dari awal

Bagaimana saya menulis esei teratas dari awal

WBOY
Lepaskan: 2023-04-11 14:16:03
ke hadapan
1014 orang telah melayarinya

Baru-baru ini saya telah menyiapkan kertas kerja yang sangat memuaskan Bukan sahaja keseluruhan proses itu menyeronokkan dan tidak dapat dilupakan, tetapi ia juga benar-benar mencapai "impak akademik dan keluaran industri." Saya percaya artikel ini akan mengubah paradigma pembelajaran mendalam privasi pembezaan (DP).

Oleh kerana pengalaman ini sangat "kebetulan" (prosesnya penuh dengan kebetulan dan kesimpulannya sangat bijak), saya ingin berkongsi dengan rakan sekelas saya pengalaman saya dari pemerhatian --> konsepsi -- > demonstrasi -- >Teori-->Proses lengkap eksperimen berskala besar. Saya akan cuba memastikan artikel ini ringan dan tidak melibatkan terlalu banyak butiran teknikal.

Bagaimana saya menulis esei teratas dari awal

Alamat kertas: arxiv.org/abs/2206.07136

Berbeza dengan susunan yang dibentangkan dalam kertas, kertas kadang-kadang sengaja letakkan kesimpulan Letakkannya pada permulaan untuk menarik pembaca, atau perkenalkan teorem yang dipermudahkan terlebih dahulu dan letakkan teorem lengkap dalam lampiran untuk artikel ini, saya ingin menulis pengalaman saya dalam susunan kronologi (iaitu, akaun berjalan), seperti lencongan yang telah saya lalui dan masalah-masalah yang tidak dijangka dalam penyelidikan saya Tuliskan status perkembangan untuk rujukan oleh pelajar yang baru menempuh jalan penyelidikan saintifik.

1. Bacaan Kesusasteraan

Asal usul perkara itu adalah kertas daripada Stanford, yang kini telah direkodkan dalam ICLR:

Bagaimana saya menulis esei teratas dari awal

Alamat kertas: https://arxiv.org/abs/2110.05679

Artikel ditulis dengan sangat baik, secara ringkasnya, ia mempunyai tiga sumbangan utama:

1 Dalam tugasan NLP, ketepatan model DP adalah sangat tinggi, yang menggalakkan penerapan privasi dalam model bahasa. (Sebaliknya, DP dalam CV akan menyebabkan kemerosotan ketepatan yang sangat besar. Contohnya, CIFAR10 pada masa ini hanya mempunyai ketepatan 80% tanpa pra-latihan di bawah had DP, tetapi boleh mencapai 95% dengan mudah tanpa mengambil kira DP; ketepatan DP terbaik ImageNet di masa adalah kurang daripada 50%. )

2. Dari segi model bahasa, lebih besar model, lebih baik prestasinya. Sebagai contoh, peningkatan prestasi GPT2 daripada 400 juta parameter kepada 800 juta parameter adalah jelas, dan ia juga telah mencapai banyak SOTA. (Tetapi dalam sistem CV dan pengesyoran, dalam banyak kes prestasi model yang lebih besar akan menjadi sangat lemah, malah hampir dengan tekaan rawak. Contohnya, ketepatan terbaik DP CIFAR10 sebelum ini diperoleh oleh CNN empat lapisan, bukan ResNet.)

Bagaimana saya menulis esei teratas dari awal

Dalam tugasan NLP, lebih besar model DP, lebih baik prestasinya [Xuechen et al 2021]

3 SOTA super pada pelbagai tugas Parameter adalah sama: ambang keratan perlu ditetapkan cukup kecil dan kadar pembelajaran perlu lebih besar. (Semua artikel sebelum ini adalah untuk melaraskan ambang keratan untuk setiap tugas, yang memakan masa dan intensif buruh. Tidak pernah ada ambang keratan=0.1 seperti ini yang menjalankan semua tugas dan prestasinya sangat baik.)

Ringkasan perkara di atas saya fahaminya sejurus selepas membaca makalah tersebut. Ini bergantung pada pengumpulan bacaan jangka panjang dan tahap keupayaan generalisasi yang tinggi untuk mengaitkan dan membandingkan dengan cepat.

Sebenarnya, ramai pelajar sukar untuk mula menulis artikel kerana mereka hanya boleh melihat kandungan satu artikel dan tidak boleh membentuk rangkaian atau membuat persatuan dengan titik pengetahuan dalam keseluruhan bidang. Di satu pihak, pelajar yang baru bermula tidak cukup membaca dan belum menguasai mata pengetahuan yang mencukupi. Ini terutama berlaku kepada pelajar yang telah lama mengambil projek daripada guru dan tidak mengusulkan secara bebas. Sebaliknya, walaupun jumlah bacaan adalah mencukupi, ia tidak dirumuskan dari semasa ke semasa, menyebabkan maklumat tidak dipadatkan menjadi pengetahuan atau pengetahuan tidak bersambung.

Berikut adalah latar belakang pengetahuan DP deep learning saya akan melangkau definisi DP buat masa ini dan ia tidak akan menjejaskan pembacaan.

Apa yang dipanggil pembelajaran mendalam DP dari sudut pandangan algoritma sebenarnya bermaksud melakukan dua langkah tambahan: keratan kecerunan setiap sampel dan penambahan hingar Gaussian, selagi anda mengikuti kedua-dua langkah ini; langkah Selepas pemprosesan langkah selesai (kecerunan yang diproses dipanggil kecerunan persendirian), anda boleh menggunakan pengoptimum mengikut kehendak anda, termasuk SGD/Adam.

Mengenai bagaimana peribadi algoritma akhir, ia adalah soalan dalam subbidang lain, yang dipanggil teori perakaunan privasi. Bidang ini agak matang dan memerlukan asas teori yang kukuh Memandangkan artikel ini memfokuskan pada pengoptimuman, ia tidak akan disebut di sini.

Bagaimana saya menulis esei teratas dari awal

g_i ialah kecerunan titik data (kecerunan setiap sampel), R ialah ambang keratan dan sigma ialah pengganda hingar.

Klip dipanggil fungsi keratan, sama seperti keratan kecerunan biasa Jika kecerunan lebih panjang daripada R, ia akan dipotong kepada R, dan jika ia kurang daripada R, ia tidak akan bergerak.

Sebagai contoh, versi DP SGD kini digunakan dalam semua kertas kerja menggunakan fungsi keratan dalam kerja perintis pembelajaran mendalam privasi (Abadi, Martin, et al. "Pembelajaran mendalam dengan privasi berbeza."), juga dikenali sebagai Keratan Abadi: gambar.

Tetapi ini sama sekali tidak perlu mengikut prinsip pertama dan bermula dari teori perakaunan privasi, sebenarnya, fungsi keratan hanya perlu memenuhi bahawa modulus Clip(g_i)*g_i adalah kurang daripada atau. sama dengan R. Dalam erti kata lain, keratan Abadi hanyalah satu fungsi yang memenuhi syarat ini, tetapi ia bukanlah satu-satunya.

2. Titik masuk

Sebuah artikel mempunyai banyak titik terang, tetapi tidak semuanya boleh digunakan oleh saya. Saya perlu menilai sumbangan terbesar saya keperluan dan kepakaran sendiri Apa itu.

Dua sumbangan pertama artikel ini sebenarnya sangat empirikal dan sukar untuk digali. Sumbangan terakhir adalah sangat menarik. Saya dengan teliti melihat kajian ablasi hiperparameter dan mendapati satu perkara yang penulis asal tidak dapati: apabila ambang keratan cukup kecil, sebenarnya, ambang keratan (iaitu, norma keratan C , dalam formula di atas dan R ialah pembolehubah) tidak mempunyai kesan.

Bagaimana saya menulis esei teratas dari awal

Membujur, C=0.1, 0.4, 1.6 tidak mempunyai perbezaan dengan DP-Adam [Xuechen et al. 2021].

Ini membangkitkan minat saya, dan saya merasakan bahawa mesti ada beberapa prinsip di sebaliknya. Jadi saya tulis tangan DP-Adam yang biasa mereka nampak sebab sebenarnya, ia sangat mudah:

Bagaimana saya menulis esei teratas dari awal

Jika R cukup kecil, keratan sebenarnya. bersamaan dengan normalisasi! Dengan hanya menggantikan kecerunan persendirian (1.1), R boleh diekstrak daripada bahagian keratan dan bahagian bunyi masing-masing:

Bagaimana saya menulis esei teratas dari awal

Dan bentuk Adam menjadikan R muncul pada masa yang sama Dalam saiz langkah kecerunan dan penyesuaian, setelah pengangka dan penyebut dibatalkan, R hilang dan idea itu ada!

Bagaimana saya menulis esei teratas dari awal

Kedua-dua m dan v bergantung pada kecerunan dan menggantikannya dengan kecerunan peribadi menghasilkan DP-AdamW.

Hanya penggantian mudah sedemikian membuktikan teorem pertama saya: dalam DP-AdamW, ambang keratan yang cukup kecil adalah bersamaan antara satu sama lain, dan tiada pelarasan parameter diperlukan.

Tidak syak lagi ini adalah pemerhatian yang ringkas dan menarik, tetapi ia tidak cukup masuk akal, jadi saya perlu memikirkan kegunaan praktikal pemerhatian ini.

Malah, ini bermakna latihan DP mengurangkan kerja pelarasan parameter mengikut susunan magnitud: dengan mengandaikan bahawa kadar pembelajaran dan R diselaraskan kepada 5 nilai setiap satu (seperti yang ditunjukkan di atas), 25 kombinasi mesti diuji untuk mencari hiperparameter Cemerlang terbaik. Kini anda hanya perlu melaraskan kadar pembelajaran dalam 5 kemungkinan, dan kecekapan pelarasan parameter telah dipertingkatkan beberapa kali Ini adalah isu titik kesakitan yang sangat berharga untuk industri.

Niatnya cukup tinggi, matematiknya cukup ringkas, dan idea yang baik telah mula terbentuk.

3. Peluasan mudah

Jika ia hanya ditetapkan untuk Adam/AdamW, batasan kerja ini masih terlalu besar, jadi saya cepat mengembangkannya kepada AdamW dan pengoptimum penyesuaian lain, seperti AdaGrad. Malah, untuk semua pengoptimum penyesuaian, dapat dibuktikan bahawa ambang keratan akan diimbangi, jadi tidak perlu melaraskan parameter, yang sangat meningkatkan kekayaan teorem.

Ada satu lagi butiran kecil yang menarik di sini. Seperti yang kita tahu, Adam dengan pereputan berat adalah berbeza daripada AdamW yang menggunakan pereputan berat yang dipisahkan. macam Adam Tambah reput berat.

Perbezaan ini juga wujud dalam pengoptimum DP. Perkara yang sama berlaku untuk Adam Jika pereputan berat yang dipisahkan digunakan, penskalaan R tidak menjejaskan saiz pereputan berat. Bagaimana saya menulis esei teratas dari awal

4. Terdapat perkara lain yang sedang berlaku

Pelajar pintar mungkin mendapati bahawa saya terus menekankan pengoptimuman penyesuaian Mengapa saya tidak bercakap tentang SGD? terletak pada saya. Selepas menulis teori DP adaptive optimizer, Google segera menerbitkan artikel mengenai DP-SGD yang digunakan dalam CV dan juga melakukan kajian ablasi Walau bagaimanapun, peraturannya berbeza sama sekali daripada yang terdapat dalam Adam, yang membuatkan saya a soalan pepenjuru


Untuk DP-SGD dan apabila R cukup kecil, peningkatan lr sebanyak 10 kali adalah sama dengan peningkatan R sebanyak 10 kali [https://arxiv.org/abs/2201.12328].

Saya sangat teruja apabila melihat artikel ini, kerana ia adalah kertas lain yang membuktikan keberkesanan ambang keratan kecil.

Dalam dunia saintifik, selalunya terdapat corak tersembunyi di sebalik kebetulan yang berturut-turut.

Penggantian mudah menunjukkan bahawa SGD lebih mudah untuk dianalisis daripada Adam (1.3) boleh dianggarkan sebagai:

Bagaimana saya menulis esei teratas dari awal

Jelas sekali R. sekali lagi Ia boleh dicadangkan, digabungkan dengan kadar pembelajaran, untuk membuktikan secara teori pemerhatian Google.

“Secara khusus, apabila norma keratan dikurangkan sebanyak k kali, kadar pembelajaran perlu ditingkatkan sebanyak k kali untuk mengekalkan ketepatan yang sama.”

Sayangnya Google sahaja melihat ini Fenomena itu belum naik ke tahap teori. Terdapat juga kebetulan di sini, iaitu, mereka melukis kajian ablasi dua skala pada masa yang sama dalam gambar di atas. Hanya skala kiri boleh melihat garis pepenjuru.

Memandangkan tiada saiz langkah penyesuaian, SGD tidak mengabaikan R seperti Adam, tetapi menganggap R sebagai sebahagian daripada kadar pembelajaran, jadi tidak perlu menyesuaikannya secara berasingan, kadar pembelajaran dilaraskan bersama-sama dengan parameter.

Kemudian lanjutkan teori SGD kepada momentum, dan semua pengoptimum yang disokong oleh Pytorch telah dianalisis.

5. Dari gerak hati kepada ketegasan

Ada titik inovatif, tetapi keratan Abadi adalah normalisasi anggaran dan tidak boleh disamakan, jadi tidak ada cara Menganalisis secara konklusif penumpuan.

Mengikut prinsip Doraemon Iron Man Corps, saya secara langsung menamakan normalisasi sebagai fungsi pemotongan kecerunan setiap sampel yang baharu, yang menggantikan keratan Abadi yang telah digunakan di seluruh bidang selama 6 tahun. Ini adalah titik inovasi kedua saya.

Selepas bukti tadi, keratan baru sama sekali tidak memerlukan R, jadi ia dipanggil keratan automatik (AUTO-V; V untuk vanila).

Memandangkan bentuk berbeza daripada keratan Abadi, ketepatannya akan berbeza, dan keratan saya mungkin mempunyai kelemahan.

Jadi saya perlu menulis kod untuk menguji kaedah baharu saya, dan ia hanya memerlukan menukar satu baris kod (ia hanya gambar).

Malah, terdapat terutamanya tiga fungsi keratan dalam arah keratan kecerunan setiap sampel. Selain keratan Abadi, kedua-duanya dicadangkan oleh saya adalah artikel ini keratan automatik. Dalam kerja saya sebelum ini, saya sudah tahu cara menukar keratan di pelbagai perpustakaan popular saya meletakkan kaedah pengubahsuaian di lampiran di akhir artikel.

Selepas ujian saya, saya mendapati bahawa dalam artikel Stanford, semasa keseluruhan proses latihan GPT2, semua lelaran dan semua kecerunan setiap sampel telah dipotong. Dalam erti kata lain, sekurang-kurangnya dalam eksperimen ini, keratan Abadi adalah setara sepenuhnya dengan keratan automatik. Walaupun percubaan kemudiannya kalah kepada SOTA, ini telah menunjukkan bahawa kaedah baharu saya mempunyai nilai yang mencukupi: fungsi keratan yang tidak perlu melaraskan ambang keratan, dan kadangkala ketepatan tidak akan dikorbankan.

6. Kembali kepada pemikiran abstrak

Artikel Stanford mempunyai dua jenis utama eksperimen model bahasa, satu ialah tugas generatif di mana GPT2 adalah model, dan satu lagi adalah RoBERTa ialah tugas pengelasan model. Walaupun keratan automatik adalah setara dengan keratan Abadi pada tugas penjanaan, ketepatan pada tugas pengelasan sentiasa beberapa mata lebih teruk.

Disebabkan tabiat akademik saya sendiri, saya tidak akan menukar set data pada masa ini dan kemudian memilih eksperimen dominan kami untuk diterbitkan, apatah lagi menambah helah (seperti peningkatan data dan pengubahsuaian model ajaib) dsb. .). Saya berharap dalam perbandingan yang benar-benar adil, saya hanya boleh membandingkan keratan kecerunan setiap sampel dan mencapai kesan bebas lembapan yang terbaik.

Malah, dalam perbincangan dengan rakan usaha sama kami, kami mendapati bahawa normalisasi tulen dan keratan Abadi membuang sepenuhnya maklumat saiz kecerunan, maksudnya, untuk keratan automatik, tidak kira berapa besar kecerunan asal , Selepas klip, R sentiasa sebesar R, dan Abadi mengekalkan maklumat saiz untuk kecerunan yang lebih kecil daripada R.

Berdasarkan idea ini, kami membuat perubahan kecil tetapi sangat bijak, dipanggil keratan AUTO-S (S bermaksud stabil)

Bagaimana saya menulis esei teratas dari awal

Selepas menyepadukan R dan kadar pembelajaran, ia menjadi Sebarang nombor positif akan berfungsi, ia sangat teguh) dan maklumat saiz kecerunan boleh dikekalkan:

Bagaimana saya menulis esei teratas dari awal

Berdasarkan algoritma ini, cuma tukar satu baris dan jalankan semula kod Stanford, dan anda akan mendapat SOTA daripada enam set data NLP.

Bagaimana saya menulis esei teratas dari awal

AUTO-S mengatasi semua fungsi keratan lain pada tugas penjanaan E2E, serta pada tugas pengelasan SST2/MNLI/QNLI/QQP.

7. Buat algoritma umum

Salah satu batasan artikel Stanford ialah ia hanya menumpukan pada NLP, dan secara kebetulan: Google meleret DP ImageNet sejurus selepas Dua bulan selepas SOTA, anak syarikat Google DeepMind mengeluarkan artikel tentang bagaimana DP bersinar dalam CV, secara langsung meningkatkan ketepatan ImageNet daripada 48% kepada 84%!

Bagaimana saya menulis esei teratas dari awal

Alamat kertas: https://arxiv.org/abs/2204.13650

Dalam artikel ini, saya adalah yang pertama mengambil masa untuk melihat pilihan pengoptimum dan ambang keratan sehingga saya beralih kepada gambar ini dalam lampiran:

Bagaimana saya menulis esei teratas dari awal

SOTA DP-SGD pada ImageNet juga memerlukan keratan. ambang cukup kecil.

Masih ambang keratan kecil berfungsi dengan baik! Dengan tiga artikel berkualiti tinggi yang menyokong keratan automatik, saya sudah mempunyai motivasi yang kuat, dan saya semakin yakin bahawa kerja saya akan menjadi cemerlang.

Kebetulan, artikel oleh DeepMind ini juga adalah eksperimen semata-mata dan tidak mempunyai teori, yang juga menyebabkan mereka hampir menyedari bahawa mereka secara teori boleh melakukannya tanpa R. Malah, mereka sangat dekat dengan idea saya. , mereka juga telah mendapati bahawa R boleh diekstrak dan disepadukan dengan kadar pembelajaran (pelajar yang berminat boleh melihat formula mereka (2) dan (3)). Tetapi inersia keratan Abadi terlalu hebat... Walaupun mereka mengetahui peraturan, mereka tidak pergi lebih jauh.

Bagaimana saya menulis esei teratas dari awal

DeepMind juga mendapati bahawa ambang keratan kecil berfungsi paling baik, tetapi tidak memahami sebabnya.

Diinspirasikan oleh kerja baharu ini, saya mula bereksperimen dengan CV supaya algoritma saya boleh digunakan oleh semua penyelidik DP, bukannya menggunakan satu set kaedah untuk NLP dan satu lagi untuk CV .

Algoritma yang baik harus bersifat universal dan mudah digunakan Fakta juga telah membuktikan bahawa keratan automatik juga boleh mencapai SOTA pada set data CV.

Bagaimana saya menulis esei teratas dari awal

8 Teori sebagai tulang dan eksperimen sebagai sayap

Melihat semua kertas di atas, SOTA telah meningkat dengan ketara dan mencapai kejuruteraan. keputusan Ia penuh, tetapi teorinya kosong sepenuhnya.

Apabila saya menyelesaikan semua eksperimen, sumbangan kerja ini telah melebihi keperluan persidangan teratas: Saya secara empirik akan menggunakan DP-SGD dan DP-Adam yang dijana oleh ambang keratan kecil Pengaruh parameter sangat dipermudahkan; fungsi keratan baharu dicadangkan tanpa mengorbankan kecekapan pengiraan, privasi, dan tanpa pelarasan parameter;

Saya masih belum berpuas hati. Pengoptimum tanpa sokongan teori masih tidak dapat memberikan sumbangan yang besar kepada pembelajaran mendalam. Berpuluh-puluh pengoptimum baharu dicadangkan setiap tahun, dan kesemuanya dibuang pada tahun kedua. Masih terdapat hanya beberapa yang disokong secara rasmi oleh Pytorch dan sebenarnya digunakan oleh industri.

Atas sebab ini, rakan usaha sama saya dan saya menghabiskan masa tambahan selama dua bulan melakukan analisis penumpuan DP-SGD automatik Proses ini sukar tetapi bukti akhir dipermudahkan secara melampau. Kesimpulannya juga sangat mudah: kesan saiz kelompok, kadar pembelajaran, saiz model, saiz sampel dan pembolehubah lain pada penumpuan dinyatakan secara kuantitatif, dan ia konsisten dengan semua tingkah laku latihan DP yang diketahui.

Khususnya, kami telah membuktikan bahawa walaupun DP-SGD menumpu lebih perlahan daripada SGD standard, apabila lelaran cenderung kepada infiniti, kelajuan penumpuan ialah tertib magnitud. Ini memberikan keyakinan dalam pengiraan privasi: model DP menumpu, walaupun lewat.

9. Kemalangan kereta...

Akhirnya, artikel yang saya tulis selama 7 bulan ini, tanpa diduga, kebetulan masih belum berhenti. NeurIPS menyerahkan kertas itu pada bulan Mei, dan pengubahsuaian dalaman telah diselesaikan pada 14 Jun dan dikeluarkan kepada arXiv Hasilnya, pada 27 Jun, saya melihat bahawa Microsoft Research Asia (MSRA) menerbitkan artikel yang bertembung dengan keratan yang dicadangkan betul-betul sama seperti keratan automatik kami:

Bagaimana saya menulis esei teratas dari awal

Sama seperti AUTO-S kami.

Melihat dengan teliti, bukti penumpuan pun hampir sama. Dan kedua-dua kumpulan kita tidak mempunyai persimpangan Boleh dikatakan bahawa satu kebetulan telah dilahirkan di Lautan Pasifik.

Izinkan saya bercakap secara ringkas tentang perbezaan antara kedua-dua artikel: artikel lain adalah lebih teori, seperti analisis tambahan penumpuan Abadi DP-SGD (saya hanya membuktikan keratan automatik, iaitu DP- dalam artikel mereka) NSGD, mungkin saya tidak tahu bagaimana untuk menyesuaikan DP-SGD juga agak berbeza; pengguratan dan normalisasi Abadi secara eksplisit, dsb. Hubungan Valensi, seperti Teorem 1 dan 2 menerangkan mengapa R boleh digunakan tanpa pelarasan parameter.

Memandangkan kami bekerja pada masa yang sama, saya sangat gembira kerana terdapat orang yang bersetuju antara satu sama lain dan boleh saling melengkapi dan bersama-sama mempromosikan algoritma ini, supaya seluruh masyarakat boleh percaya keputusan ini dan mendapat manfaat daripadanya secepat mungkin. Sudah tentu, dengan mementingkan diri sendiri, saya juga mengingatkan diri saya bahawa artikel seterusnya akan dipercepatkan!

10 Ringkasan

Mengimbas kembali proses kreatif artikel ini, dari titik permulaan, kemahiran asas mesti menjadi prasyarat, dan satu lagi prasyarat penting ialah saya. sentiasa diingati Titik kesakitan melaraskan parameter. Ia adalah kemarau yang panjang, jadi membaca artikel yang betul boleh membawa anda nektar. Bagi proses, terasnya terletak pada tabiat pemerhatian berteori secara matematik Dalam kerja ini, keupayaan untuk melaksanakan kod bukanlah yang paling penting. Saya akan menulis lajur lain yang memfokuskan pada kerja pengekodan teras tegar yang lain. Nasib baik, anda tidak takut terlambat untuk makan yang enak, jadi teruskan!

Mengenai pengarang

Bu ​​Zhiqi, lulus dari University of Cambridge dengan ijazah sarjana muda dan Ph.D dari University of Pennsylvania kini seorang saintis penyelidikan kanan di Amazon AWS AI hala tuju penyelidikannya ialah privasi berbeza dan pembelajaran mendalam, memfokuskan pada algoritma Pengoptimuman dan pengiraan berskala besar.

Atas ialah kandungan terperinci Bagaimana saya menulis esei teratas dari awal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan