AI menilai laman web dengan meniru orang-orang sebenar dan bahkan mengalahkan mereka. Bagaimana ia dilakukan?

Hari ini, salah satu komponen uKit AI, sebuah sistem reka bentuk semula laman web pintar, akan menjadi umum. Ia merupakan modul prototaip untuk menilai keindahan laman web. Ia menggabungkan rangkaian neural dan pokok keputusan untuk meniru tindak balas pengunjung biasa ke reka bentuk laman web athe.

Di masa depan, modul sedemikian akan menilai kerja algoritma reka bentuk generatif, unsur utama uKit AI, yang akan merancang halaman tanpa penglibatan manusia bergantung pada kandungan yang ada dan "pengetahuan" perbezaan di antara laman web yang tidak berkesan dan yang bertujuan untuk meningkatkan kadar penukaran.

Versi WebScore AI semasa mencerminkan pandangan pengguna Internet rata-rata mengenai penampilan laman web. Walaupun, kami boleh membuat pilihan lain, contohnya, mungkin untuk menilai kegunaan laman web.

Laman web yang digunakan untuk melatih sistem. Pertama sekali, kami telah mengumpulkan 12,000 tapak dan kedai dalam talian yang dicipta dalam tahun-tahun yang berbeza pada pelbagai platform dan dalam pelbagai bahasa. Tugas utama adalah untuk mendapatkan contoh gradasi visual yang cukup, dari laman web yang sangat buruk kepada yang sangat baik. Dengan cara ini, kami telah menunjukkan sistem yang boleh dicapai di web moden.

Beberapa laman web dari sampel latihan.

Setiap gradasi diukur dengan skala, dan skala ini sepatutnya difahami oleh orang biasa yang pendapat kami cuba model. Oleh itu, kami mendapat idea skala 'dari 1 hingga 10', yang digunakan dalam perkhidmatan kami.

Orang yang ditiru oleh WebScore AI. Kami memerlukan dua perkara untuk membentuk dataset (satu set data untuk model latihan) dari pelbagai laman web:

  • tanda-tanda di mana sistem akan menentukan jika laman web itu menarik;
  • penilai (tanda) dibuat dengan bantuan skala kami untuk sejumlah laman web tertentu. Mereka akan menjadi model untuk sistem ini.

Seseorang harus meletakkan penilaian awal ini. Seperti "guru", atau sekumpulan "guru", untuk menjadi lebih spesifik, akan sangat mempengaruhi bagaimana model itu akan berfungsi.

Antara muka penilaian laman web: ambil dan gunakan dari GitHub kami tidak lama lagi.

Untuk mengumpulkan kumpulan tumpuan, kami mengadakan pemilihan calon awal pada 1500 contoh laman web. Kerja rutin, tetapi yang bertanggungjawab dan memerlukan perhatian yang besar. Pemilihan awal membantu kami untuk menghapuskan calon yang tidak sesuai dan juga untuk mengecualikan "kontroversi" (apabila seseorang menilai ia sebagai 1 dan yang lain sebagai 10) laman web dari sampel.

Pada mulanya, kami bereksperimen dengan kaedah penilaian.

Sebagai contoh, kami menawarkan untuk menilai satu laman web pada satu masa, kemudian dua laman web pada masa yang sama, atau untuk memilih satu dari dua, yang paling menarik. Pendekatan di mana responden melihat satu laman web dan menilai ia berfungsi dengan baik. Kami menggunakannya untuk menilai 10.000 laman web yang lain.

Seseorang menilai sama ada laman web cantik atau tidak. Bagaimanakah mesin melakukan ini? Anda dan saya hanya perlu melihat satu pandangan mengenai keindahan keseluruhan sesuatu. Tetapi kita tahu bahawa syaitan adalah dalam butirannya.

Tanda-tanda daya tarikan visual laman web yang akan membimbing model adalah momen penting untuk keseluruhan projek. Kami meminta pasukan reka bentuk laman web pembina laman web untuk tangan, kerja mereka digunakan sebagai asas untuk beratus-ratus laman web, dan berjuta-juta orang melihatnya. Bersama-sama kita telah menyusun senarai ciri-ciri yang diperluas yang para profesional memberi perhatian pada saat membangun sebuah rancangan website. Dan kemudian cuba memotongnya, meninggalkan hanya yang paling penting.

pasukan reka bentuk uKit.com.

Akibatnya, kami mendapat senarai semak 125 kriteria yang agak berbeza dan signifikan dikumpulkan dalam lima belas kategori. Sebagai contoh, senarai itu mempunyai: penyesuaian kepada skrin yang popular, pelbagai saiz fon, kesucian warna, panjang tajuk, perkadaran imej pada keseluruhan halaman, dan sebagainya. Apa yang perlu dilakukan ialah melatih model dengan menggunakan peraturan ini.

Buat algoritma. Apakah yang dimaksudkan dengan 'model pengajaran'? Ia adalah pembinaan algoritma yang berdasarkan set ciri tertentu dan dapat menilai tapak web yang dipilih. Adalah diharapkan bahawa penilaian sistem dan penilaian purata guru berkongsi jurang minimum dalam penilaian akhir mereka.

Kami telah memutuskan untuk menggunakan kaedah meningkatkan kecerunan ke atas pokok keputusan, kerana ia merupakan salah satu pendekatan yang paling popular dan berkesan. Menggunakan algoritma asas, ia membina satu set, hasil keseluruhannya melebihi hasil mana-mana algoritma yang berasingan.

Selain itu, dengan menambah setiap algoritma asas seterusnya, ia cuba untuk meningkatkan kualiti jawapan keseluruhan set.

Untuk mempercepat dan memudahkan proses itu, kami menggunakan perpustakaan CatBoost dari Yandex yang membolehkan membina penggalak berasaskan gradien dalam apa yang dipanggil "pokok keputusan yang tidak dapat dilupakan" yang memastikan keupayaan latihan yang baik model dari permulaan dan peralihan cepat untuk memberikan ramalan (anggaran ) untuk objek baru.

Menambah rangkaian neural. Apabila algoritma asas telah siap, kami memutuskan untuk menjalankan eksperimen: apakah hasilnya akan bertambah baik jika kami menambah rangkaian saraf? Sebenarnya, kita sudah tahu bagaimana untuk 'melihat' sebuah laman web dan reka bentuknya, dan kini kami memutuskan untuk memberikan sistem sejenis 'kaca pembesar' yang dapat digunakan untuk mendedahkan lebih banyak maklumat.

Kami memilih salah satu rangkaian yang paling popular, resnet50, ia dikenali sebagai algoritma yang baik untuk mengekstrak ciri peringkat tinggi. Dan kami telah belajar bagaimana untuk mendapatkan 1000 atribut tambahan untuk penilaian laman web. Akibatnya, sistem kini mencirikan URL dengan jumlah 1125 ciri dan mendapati 'tempat' tapak web pada skala 10 mata. Proses ini mengambil masa beberapa puluhan detik, itulah sebabnya kami mempertimbangkan untuk mempercepatkan model dengan mengurangkan bilangan tanda-tanda sambil mengekalkan kualiti penilaian pada tahap yang sama.

Keputusan pertama. Model yang dilatih dengan cara ini boleh membuat anggaran 3 kali lebih tepat berbanding dengan guru-guru individu.

Kita boleh mengatakan bahawa model melepasi guru-guru pertamanya kerana anggaran kumpulan fokus berbeza dari satu purata lebih besar daripada anggaran rangkaian saraf. Sekarang kita meletakkan algoritma ke rangkaian untuk latihan lanjut. Dan anda juga boleh menjadi gurunya.