Pada 3 Agustus, Sergey Shirkin, ML dan spesialis kecerdasan buatan, berbicara di jejaring sosial kami.
Sergey terlibat dalam otomatisasi teknologi dan database keuangan di Sberbank dan Rosbank, membangun model keuangan berdasarkan pembelajaran mesin dan pekerjaan analitis di Equifax. Memprediksi menonton TV menggunakan metode kecerdasan buatan di Dentsu Aegis Network Rusia. Dosen Tamu di Sekolah Tinggi Ekonomi (program Magister Komunikasi Berbasis Data).
Sergey juga mempelajari komputasi kuantum yang diterapkan pada AI dan pembelajaran mesin. Dia berada di garis depan fakultas Artificial Intelligence, Big Data Analytics dan Data Engineering di Geek University, di mana dia bekerja sebagai dekan dan dosen.
Kami membagikan transkrip siaran dan rekamannya kepada Anda.
***
Nama saya Sergey Shirkin, hari ini kita akan membicarakan tentang kecerdasan buatan. Kami akan membahas jalur awal - bagaimana masuk ke kecerdasan buatan, bagaimana mempelajari mata pelajaran yang diperlukan, kursus apa yang harus diambil, literatur apa yang harus dibaca, bagaimana memulai karir. Juga tentang berbagai arah.
Topik hari ini bisa menarik tidak hanya untuk pemula, tetapi juga untuk programmer berpengalaman - misalnya, bagaimana beralih dari bidang pemrograman ke bidang pembelajaran mesin, kecerdasan buatan, dan jaringan saraf. Bergantung pada teknologi apa yang digunakan seseorang dan bahasa apa yang dipelajarinya, transisi praktis ke bidang ini dapat terjadi dengan berbagai cara. Ada banyak spesialisasi dalam AI.
Merekomendasikan bahan untuk pencelupan diri dalam AI?
Jika Anda seorang pemula yang lengkap, yang terbaik adalah memulai dengan mempelajari Python. Cara cepat untuk melakukan ini, seperti yang pernah saya lihat dengan pemula lainnya, adalah PythonTutor.ru. Di sana Anda perlu mempelajari teori dan memecahkan masalah - setidaknya 70 persen Masalah mungkin tampak sulit jika Anda tidak memprogram sama sekali sebelumnya.
Langkah selanjutnya adalah bahasa kueri SQL, dan situs SQL-EX.ru akan membantu di sini: ada latihan tentang SQL. Mereka diatur dalam beberapa tahap: tahap pelatihan, tahap untuk mendapatkan peringkat - Anda dapat mengambil tempat tertentu dalam peringkat. Di sini Anda akan belajar bagaimana bekerja dengan database. Secara paralel, ada bahan ajar dari penulis Moiseenko, dan mereka cukup mudah dipelajari.
Maka Anda perlu mempelajari machine learning itu sendiri. Berbagai algoritma mulai dari regresi linier, regresi logistik, hingga peningkatan gradien. Ada banyak bahan disini. Kemudian Anda bisa pergi ke jaringan saraf - untuk computer vision, untuk NLP; Anda akan mempelajari konvolusional, jaringan saraf berulang, dan yang paling canggih - transformer, Bert, dll.
Saya akan memberi tahu Anda tentang perkembangan AI. Jika Anda melihat sejarah perkembangan ini sebelum 2010, maka itu agak sedikit: tentu saja, ada beberapa pencapaian hebat di AI dan di bidang terkait - misalnya dalam big data, dan banyak algoritme matematika telah siap. Tetapi tidak ada cukup daya komputasi dan data untuk AI. Sejak 2010 - atau lebih tepatnya 2012 - AI telah meledak. Pada tahun 2012, di salah satu kompetisi, jaringan neural mengalahkan algoritme visi mesin klasik dan belajar mengenali sekitar 1000 kelas gambar.
Setelah pencapaian ini, kesenjangan besar muncul dari pesaing yang menggunakan computer vision klasik, dan pengembangan jaringan saraf tiruan dimulai. Berbagai arsitektur jaringan konvolusional muncul, dan terobosan terjadi dalam visi komputer. Sebelumnya, jaringan saraf dipercaya untuk membedakan antara gambar kucing dan anjing adalah hal yang sangat sulit, tetapi pada tahun 2012, jaringan saraf belajar untuk mengenali dan mengklasifikasikan gambar lebih cepat dan lebih akurat daripada manusia.
Saat ini, visi komputer telah membuat kemajuan besar. Secara paralel, pemrosesan bahasa alami - NLP berkembang. Dengan munculnya model GPT-3, yang dibuat oleh OpenAI beberapa bulan yang lalu, jaringan saraf telah belajar untuk menghasilkan teks (serta musik dan urutan lainnya). Ini adalah salah satu langkah utama dalam NLP - kemungkinan besar dalam dekade ini NLP akan berkembang. Bot obrolan akan muncul yang dapat sepenuhnya mempertahankan dialog dengan seseorang.
SQL dan Python sedikit. Setelah kursus dalam ilmu data, tanpa pengalaman, dapatkah Anda langsung mendapatkan pekerjaan sebagai data scientist, atau Anda perlu bekerja sebagai analis database terlebih dahulu?
Mendalami ilmu data sekarang lebih sulit daripada 5 tahun yang lalu. Kemudian dimungkinkan untuk mengambil bagian dalam beberapa kompetisi di Kaggle dan mengambil tempat - belum tentu yang pertama, misalnya, di 10% pertama - dalam beberapa kompetisi yang menarik, bukan di tingkat pelatihan. Setelah itu, sudah mungkin untuk pergi ke perusahaan, menjawab pertanyaan sederhana tentang pembelajaran mesin, dan orang seperti itu dapat dipekerjakan. Ada beberapa spesialis.
Sekarang semuanya jauh lebih rumit, jadi terkadang itu tidak berhasil setelah Anda mempelajari pembelajaran mesin dan matematika untuk mendapatkan pekerjaan impian Anda - seorang spesialis AI atau ilmuwan data.
Cara yang baik untuk melakukannya adalah bekerja dengan data, analis database, atau analis data terlebih dahulu. Faktanya adalah, Anda harus belajar cara melakukan praproses, membersihkan data, menerapkan statistik. Ini bisa berupa teknologi database, termasuk Python. Ketika Anda mendapatkan pengalaman, Anda memiliki latar belakang, maka Anda dapat, menggunakan pengetahuan Anda tentang perpustakaan ilmu data dengan Python - Pandas, NumPy, SKLearn, melamar pekerjaan yang terkait dengan AI atau ilmu data.
Apa perbedaan antara spesialis AI dan ilmuwan data?
Apakah AI membutuhkan C ++? Apa yang Anda rekomendasikan untuk dipelajari untuk menjadi ahli visi komputer?
Sekarang ada pembagian lowongan di perusahaan Barat: selain data scientist, ada lowongan terpisah untuk spesialis AI. Sebelumnya, telah dipahami bahwa data scientist adalah orang yang terlibat dalam analisis data tabular, tugas computer vision, dan tugas NLP. Ada juga lowongan data analyst - bayarannya lebih rendah, meski juga cukup bergengsi; orang seperti itu harus menganalisis data, tetapi tidak terlalu mendalami AI yang terkait dengan ucapan, teks, dan gambar, terutama bekerja dengan data tabular. Lalu ada campuran lowongan: di Valley, semua analis data disebut ilmuwan data, termasuk mereka yang hanya bekerja dengan data tabular, dan mereka yang bekerja dengan NLP dan computer vision. Dan pada saat yang sama, beberapa saat kemudian, mereka mulai mengalokasikan spesialis AI terpisah.Perusahaan Rusia biasanya tidak memiliki divisi seperti itu, meskipun terkadang ada lowongan khusus - misalnya, "NLP / computer vision engineer". Seorang data scientist diharapkan dapat melakukan semuanya sedikit demi sedikit.
Tentang C ++: yang paling dasar adalah Python. Artinya, jika Anda adalah seorang spesialis AI, Anda harus menggunakan TensorFLow, Keras atau PyTorch - sekarang sudah lebih dulu. Tetapi jika Anda menulis lebih banyak program tingkat rendah - misalnya, jika pekerjaan itu terkait dengan kendaraan robot, maka Anda akan sering membutuhkan kode C ++. Python tidak selalu cepat. Library untuk pembelajaran mesin biasanya ditulis dalam C ++, tetapi terkadang Anda perlu menulis seluruh program dalam C ++: selain model itu sendiri, logika (if-else, dll.) Dapat berfungsi, dan di C ++ berfungsi lebih cepat. Tentu saja, sulit untuk segera datang ke lowongan seperti itu, dan lebih baik untuk bekerja terlebih dahulu di tempat yang akan tersedia cukup Python - misalnya, di mana ada analisis media sosial dengan analisis gambar, tanpa perlu pemrosesan cepat.
Untuk menjadi spesialis, Anda perlu mempelajari cara bekerja dengan perpustakaan untuk jaringan saraf, mempelajari perpustakaan OpenCV untuk Python - itu juga tersedia untuk C ++. Ini akan memberi Anda kotak alat. Juga diinginkan untuk dapat bekerja dengan perpustakaan NumPy, memahami matematika analisis gambar - yaitu, memahami aljabar linier dan kalkulus, dan juga mengetahui arsitektur jaringan saraf. Dll
Mengapa wawancara ML mengajukan pertanyaan tentang cara menyelesaikan konflik dalam tabel hash?
Mengapa ini menjadi penanda untuk perekrutan ketika Anda bisa Google sepanjang jalan?
Tidak setiap lowongan menanyakan hal ini. Jika Anda membuka analisis data tabular, kecil kemungkinan Anda akan diminta. Mereka pasti akan menanyakan apakah Anda melamar tempat seorang insinyur ML: yaitu, Anda tidak hanya membuat model ML, Anda juga menerapkannya, dan Anda perlu mengetahui algoritme serta struktur data. Dan jika Anda mengembangkan sesuatu seperti mobil robotik, terlebih lagi: Anda harus menulis kode tingkat tinggi dan rendah di sana, dan pengetahuan ini adalah suatu keharusan. Dan terkadang pengetahuan ini diperlukan dalam analisis data tabel - katakanlah Anda menulis modul untuk ini di C ++.
Jika Anda belum siap untuk lowongan seperti itu, Anda bisa melalui lebih banyak wawancara. Misalnya, jika Anda mencari pekerjaan sebagai data scientist di bank, pertanyaan seperti itu akan lebih sedikit.
Saya telah menulis dengan Python selama 10 tahun, tetapi tidak ada pendidikan tinggi. Seberapa sulit untuk masuk ke dunia AI tanpa menjadi pintar?
Matematika yang lebih tinggi dibutuhkan. Anda harus mengambil kursus atau mempelajari literatur, dan ini akan menjadi proses yang panjang. Anda akan membutuhkan pelatihan dalam aljabar linier, kalkulus, teori probabilitas, dan statistik matematika. Kurikulum sekolah biasa jelas tidak cukup untuk mempelajari AI; Tentu saja, programnya berbeda - di beberapa sekolah dan di kelas 10, topik dari universitas dibahas, tetapi ini jarang terjadi.
Acara pelatihan Panda, SKLearn, Catboost, Seaborn, Kaggle - 3% dan 13%. Apakah saya perlu mendalami DL, atau apakah saya sudah bisa mencari pekerjaan?
Perpustakaan sudah bekerja dengan baik; Anda sudah memiliki Pandas untuk bekerja dengan data tabular, dan SKLearn untuk model pembelajaran mesin, dan Catboost untuk peningkatan gradien, dan Seaborn untuk rendering. Hasilnya adalah 3% dan 13% - ini berarti jika ini bukan kompetisi latihan, maka dengan hasil seperti itu Anda seharusnya sudah memiliki semacam medali.
Pembelajaran Mendalam tidak selalu dibutuhkan. Anda mungkin sudah mencoba mencari pekerjaan, saya pikir. Namun, jika Anda perlu bekerja dengan DL, Anda masih perlu mengajarkan jaringan saraf.
Apa kumpulan buku dasar untuk dibaca?
Saya akan menunjukkan buku saya di ujung aliran. Saya memilih set dasar, tidak ada yang lebih maju.
Sejauh mana profesi ini diminati sekarang? Apakah akan ada banyak lowongan dalam 2 tahun?
Jika Anda mengingat tahun 2015-16, misalnya, tidak ada lebih dari 5-10 lowongan data scientist di Headhunter. Artinya, ada pasar yang hampir kosong. Tentu saja, kemudian terjadi pergantian nama analis menjadi data scientist, namun ini juga belum cukup.
Sekarang dibutuhkan beberapa ratus sekaligus, jika Anda melihat situs yang sama. Mereka bilang ada lowongan yang tidak ada. Misalnya, di ODS - OpenDataScience - jika Anda lihat, ada bagian lowongan terpisah. Secara umum, sementara lowongan tidak berakhir, saya pikir dalam 2 tahun hanya akan ada lebih banyak dari mereka. Tidak hanya perusahaan besar yang terlibat dalam hal ini: ada perusahaan rintisan, perusahaan kecil; ilmuwan data sekarang dibutuhkan di lembaga pemerintah - misalnya, di berbagai departemen kota, di layanan pajak, dan sebagainya.
Di industri mana AI paling diminati?
Penerapan AI yang paling sederhana, di mana penggunaan eksplisitnya dapat mengotomatiskan sejumlah besar pekerjaan mental spesialis, adalah di sektor keuangan. Ada banyak sekali bank. Masing-masing dari mereka perlu, misalnya, untuk menilai kelayakan kredit peminjam - yaitu, untuk menentukan, menurut berbagai kriteria, apakah layak mengeluarkan pinjaman, apakah orang tersebut melebih-lebihkan kekuatannya dan apakah ia akan mampu membayar kembali pinjaman tersebut. Ini adalah penggunaan AI yang paling jelas.
Kemudian memasarkan, membangun kampanye iklan: yaitu, ketika Anda perlu memprediksi apakah seseorang akan menonton iklan (di Internet, di TV, dll.). Ini juga merupakan arah yang dikembangkan, tidak mungkin untuk tidak mengotomatiskannya menggunakan AI. Plus, robotisasi berkembang sekarang: tidak hanya robot industri, tetapi juga robot rumah tangga - penyedot debu robotik dan aksesoris rumah lainnya, yang juga sedang dikembangkan oleh seseorang. Atau bermacam-macam aplikasi untuk sebuah smartphone - pada umumnya terdapat banyak sekali industri, mulai dari industri, kedokteran, retail, keuangan, pemasaran dan diakhiri dengan entertainment. Misalnya AI juga bisa digunakan di dalam game.
Seratus lebih dihargai saat melamar pekerjaan dalam ilmu data: pengetahuan matematika, pemahaman tentang algoritma tertentu, pengalaman kerja?
Dia memiliki gelar master teknis dan satu tahun bekerja sebagai analis data di bidang konsultasi.
Anda memiliki latar belakang yang bagus - universitas teknik, satu tahun bekerja sebagai analis data. Jika Anda sudah mempelajari teknologi dan tahu cara memprogram, maka masuk ke ilmu data itu mudah. Jika Anda telah bekerja dalam analisis database dan mengetahui SQL, ini adalah nilai tambah yang besar, dan jika Anda menambahkan pemrograman dan pembelajaran mesin, ini adalah set yang sangat bagus.
Saya akan berbicara tentang cara membuat model pembelajaran mesin di tempat kerja. Perusahaan tempat saya bekerja adalah Dentsu Aegis, perusahaan yang sangat terkenal, terutama di antara mereka yang bekerja di bidang pemasaran. Ini adalah grup komunikasi 5 teratas di dunia; berkantor pusat di Tokyo dan memiliki kantor di 145 negara. Cabang Rusia - Dentsu Aegis Network Rusia. Dia telah bekerja di Rusia selama 25 tahun dan merupakan pelopor inovasi media.
Saya akan memberi tahu Anda tentang bidang yang menjadi tanggung jawab saya sebagai ilmuwan data. Inilah aplikasi yang saya bicarakan sebagai yang paling jelas dalam aplikasi praktis. AI dalam pemasaran membantu mengotomatiskan banyak tugas spesialis, dan salah satunya memprediksi bagaimana berbagai jenis konten akan dilihat oleh audiens target yang berbeda. Saya akan memberi tahu Anda lebih banyak tentang salah satu tugas langsung saya - prediksi menonton televisi.
Penonton bisa mencapai beberapa ratus, dan untuk meramalkannya secara manual, diperlukan kerja puluhan spesialis. Ini luar biasa. Jumlah data yang sangat besar - hingga milyaran baris dalam tabel. Anda tidak hanya perlu membuat model pembelajaran mesin, tetapi juga membuatnya bekerja dengan cepat. Untuk pekerjaan seperti itu, Anda perlu mengetahui database relasional dan non-relasional dengan baik, bekerja dengan Linux, memiliki keterampilan pengembang dan secara umum memahami arsitektur aplikasi, infrastruktur TI perusahaan, mengenal Python dengan baik, mungkin C ++.
Saat kami membuat perkiraan untuk penayangan TV, kami menggunakan metode pembelajaran mesin modern. Untuk data tabel, ini adalah peningkatan gradien dan hutan acak. Jika teks dianalisis, kami menggunakan jaringan saraf; selain mereka - pemodelan topik, TF-IDF dan metode NLP umum lainnya.
Kami menggunakan peningkatan gradien karena jika kami memprediksi menggunakan data tabel, maka peningkatan gradien berada di depan semua algoritme yang diketahui dalam bekerja dengan data tersebut. Di Kaggle, mulai tahun 2018, semua pencapaian utama dalam kompetisi yang menggunakan data tabel dicapai dengan bantuan peningkatan gradien. Sebagian besar keggler kemudian beralih ke XGBoost - ini adalah pustaka pertama yang diketahui untuk peningkatan gradien, dan kemudian banyak yang menguasai LightGBM dari Microsoft atau CatBoost dari Yandex. Untuk tugas meramalkan penayangan TV, penggunaan deret waktu juga cocok, tetapi metode seperti itu tidak selalu bekerja dengan baik - peristiwa tak terduga muncul secara berkala yang perlu ditanggapi atau diantisipasi pada waktunya. Terkadang ada periode abnormal yang besar - dari beberapa hari hingga bulan: misalnya,Piala Dunia FIFA 2018 berdampak besar pada jumlah penonton. Karantina juga menjadi periode yang ganjil: orang mulai menghabiskan lebih banyak waktu di rumah dan lebih banyak menonton TV. Ini pun harus diperhitungkan, diantisipasi. Secara umum, periode ini merupakan semacam tantangan bagi machine learning dan AI, karena Anda perlu terus memantau model dan mengontrolnya agar berfungsi dengan benar. Selain periode abnormal, ramalan cuaca dipengaruhi oleh hari libur, kondisi cuaca, perubahan tren tampilan program dan saluran tertentu. Akibatnya, model menjadi cukup kompleks, karena perlu mempertimbangkan semua opsi yang mungkin, memperhitungkan atau mengantisipasi anomali dan penyimpangan.Ini pun harus diperhitungkan, diantisipasi. Secara umum, periode ini merupakan semacam tantangan bagi pembelajaran mesin dan AI, karena Anda perlu terus memantau model dan mengontrolnya agar berfungsi dengan benar. Selain periode abnormal, ramalan cuaca dipengaruhi oleh hari libur, kondisi cuaca, perubahan tren tampilan program dan saluran tertentu. Akibatnya, modelnya ternyata cukup kompleks, karena perlu memperhitungkan semua kemungkinan opsi, memperhitungkan atau mengantisipasi anomali dan penyimpangan.Ini pun harus diperhitungkan, diantisipasi. Secara umum, periode ini merupakan semacam tantangan bagi machine learning dan AI, karena Anda perlu terus memantau model dan mengontrolnya agar berfungsi dengan benar. Selain periode abnormal, prakiraan dipengaruhi oleh hari libur, kondisi cuaca, perubahan tren tampilan program dan saluran tertentu. Akibatnya, modelnya ternyata cukup kompleks, karena perlu memperhitungkan semua kemungkinan opsi, memperhitungkan atau mengantisipasi anomali dan penyimpangan.perubahan tren dalam tampilan program dan saluran tertentu. Akibatnya, modelnya ternyata cukup kompleks, karena perlu memperhitungkan semua kemungkinan opsi, memperhitungkan atau mengantisipasi anomali dan penyimpangan.perubahan tren dalam tampilan program dan saluran tertentu. Akibatnya, modelnya ternyata cukup kompleks, karena perlu memperhitungkan semua kemungkinan opsi, memperhitungkan atau mengantisipasi anomali dan penyimpangan.
Biasanya, model tidak dibiarkan sendiri - pengujian, penyesuaian, pemantauan terus-menerus dilakukan. Tapi bukan hanya modelnya yang penting: Langkah penting lainnya adalah pembuatan fitur. Pertama, ini adalah tanda-tanda yang terkait dengan waktu pertunjukan: waktu, hari dalam seminggu, musim, dll. Kedua, ada atribut terkait konten. Pada saat yang sama, harus dipahami bahwa jika program tersebut disiarkan pada malam hari, maka, apapun konten yang menarik, tidak akan ada penayangan lebih dari pada saat primetime. Pentingnya atribut dapat bervariasi, tetapi audiens yang berbeda akan memilih konten yang berbeda. Itu mungkin tergantung pada jenis kelamin, usia, status sosial.
Salah satu tahapan yang paling memakan waktu dalam menangani data adalah rekayasa fitur: memproses atau membuat fitur. Bagian dari ilmu data ini membutuhkan banyak pengalaman: tidak ada resep yang telah diketahui sebelumnya, atau terlalu sederhana, dan Anda harus menemukan cara untuk menyiapkan fitur dengan cepat.
Terkadang ada keingintahuan dalam data: misalkan pemirsa menyalakan TV di malam hari dan tertidur. Ternyata dia menonton program sepanjang malam. Ini adalah salah satu contoh gangguan dalam data - datanya tampak akurat, tetapi tampaknya tidak, dan Anda perlu belajar menebak, meskipun sulit. Selain itu, sangat sedikit iklan yang biasanya ditayangkan pada malam hari.
Saat membuat model, kita tidak hanya perlu membuatnya berfungsi, tetapi juga menyediakan pengujian dan pemantauan. Untuk ini kita membutuhkan metrik. Karena kami memiliki masalah regresi, kumpulan metrik kami akan berbeda dari kumpulan untuk klasifikasi, misalnya. Ini adalah kesalahan akar kuadrat rata-rata dan koefisien determinasi - semuanya sangat penting. Ada juga metrik yang harus Anda buat sendiri untuk memecahkan masalah bisnis tertentu - misalnya, masalah pengoptimalan biaya kampanye iklan. Dalam hal ini, kami perlu memprediksi tidak hanya rating TV, tetapi juga cakupan kampanye iklan; kami bekerja tidak hanya dengan pembelajaran mesin, tetapi juga dengan metode statistik dan ekonometrik yang kompleks. Ini adalah kasus ketika pengetahuan tentang pembelajaran mesin tidak cukup: memerlukan kalkulus, aljabar linier, metode pengoptimalan matematika.Tidak seperti tugas pembelajaran mesin umum - regresi, klasifikasi, pengelompokan - di sini Anda harus menemukan metode Anda sendiri, dan pemrograman saja tidak cukup.
Saya ingin menyebutkan program Sekolah Tinggi Ekonomi - Komunikasi Berbasis Data. Saya harus membantu siswa dalam program ini, mereka terlibat dalam pemasaran dan mata pelajaran yang berkaitan dengan pembelajaran mesin. Sebenarnya, apa itu pembelajaran mesin dan ilmu data untuk pemasar? Sebelumnya, spesialis di bidang ini tidak diharapkan memprogram dan membuat model yang kompleks, tetapi sekarang menjadi keterampilan yang memberi keuntungan di pasar kerja. Jika seorang spesialis, selain profesinya, telah menguasai ilmu data, maka ia mendapat kesempatan untuk berganti pekerjaan dan menjadi data scientist, atau terus berkembang di bidangnya, tetapi dengan keunggulan kompetitif yang besar. Pakar pembelajaran mesin akan dapat membuat prediksi yang lebih akurat, tetapi itu akan membutuhkan banyak pembelajaran.
Apakah perlu memperhatikan kursus MIPT / Yandex Data Science, atau mungkin melihat ke arah Udacity?
Seperti yang saya pahami, yang Anda maksud adalah kursus dari MIPT / Yandex tentang Coursera. Udacity adalah platform pembelajaran mandiri; tidak hanya ilmu data, meskipun sebagian besar kursus ditujukan untuk AI dan ilmu data. Saya sarankan untuk tidak memikirkan satu sumber daya, tetapi mencoba beberapa kursus. Kursusnya tidak sesuai 100%, Anda selalu dapat menemukan sesuatu yang baru yang tidak Anda ketahui sebelumnya. Juga kursus baru dapat digunakan untuk pengulangan. Misalnya, kursus GeekBrains di departemen AI, teknik data, dan analitik data besar kami. Karena saya adalah dekan dan guru mereka, saya dapat memberi tahu Anda lebih banyak tentang mereka.
Kursus digabungkan menjadi fakultas - misalnya, fakultas kecerdasan buatan memiliki 17 program, ditambah 8 program tambahan. Hampir setiap mata kuliah memiliki kerja praktek sebagai tugas akhir. Jadi, seorang spesialis yang mempelajarinya mendapat latihan. Saya merekomendasikan tidak hanya mempelajari teori, tetapi melakukan proyek: keterampilan praktis yang baik akan membawa Anda lebih dekat ke wawancara dan memulai karir.
Saya sendiri belajar beberapa waktu yang lalu di udacity - saya mengambil kursus kendaraan robotik, lama sekali, rencananya 9 bulan, tetapi kursus itu berlangsung sekitar satu tahun. Saya benar-benar belajar banyak, tayangan dari platform ini positif. Tapi, tentu saja, semua kursus di sana diajarkan dalam bahasa Inggris.
Bagaimana cara memperhitungkan anomali dalam deret waktu dan dapatkah mereka dihilangkan?
Proses yang tidak menyenangkan. Tidak ada resep siap pakai untuk ini - Anda perlu banyak tes. Lebih tepatnya, ada model yang sudah jadi, tetapi dirancang hanya untuk mendeteksi anomali di masa lalu, dan tidak hanya perlu dideteksi, tetapi juga untuk diantisipasi.
Untuk kasus seperti itu, ada berbagai perkembangan, tetapi Anda harus membuatnya sendiri. Hal terpenting adalah menentukan apa yang akan terjadi di masa mendatang: misalnya, peningkatan tayangan TV di saluran dan program tertentu. Seiring berjalannya waktu, data ini kembali menjadi data pelatihan dan perlu diproses dengan cara yang benar.
Meskipun tidak ada anomali di masa mendatang, anomali masa lalu dapat memengaruhi perkiraan Anda. Ada banyak metode di sini; yang paling sederhana adalah menghapus data yang tidak wajar, tetapi jika jumlahnya banyak, hal ini dapat menyebabkan hilangnya seluruh periode deret waktu dari pertimbangan, jadi metode ini tidak selalu cocok.
Bagaimana cara mendapatkan pekerjaan tanpa pengalaman yang terbukti?
Pengalaman yang baik adalah proyek Anda. Artinya, jika Anda tidak hanya mengajarkan teori, tetapi segera mengerjakan sebuah proyek - sebaiknya di bawah bimbingan seorang mentor (orang yang berpengalaman dalam ilmu data dan AI) - maka Anda tahu apa yang Anda lakukan. Anda tidak hanya tahu bagaimana menerapkan teori, atau menerapkan model pada data yang ditemukan di Internet, tetapi untuk memecahkan masalah praktis. Saat mengerjakan proyek semacam itu, Anda mendapatkan pengetahuan yang tidak dapat diperoleh dari buku dan kursus, dan bantuan seorang mentor sangat berharga di sini.
Mari kita bicara tentang buku - saya sudah menyiapkan setumpuk kecil.
Jika Anda bekerja dalam ilmu data, kemungkinan besar Anda harus bekerja di lingkungan Linux. Pada saat yang sama, Anda tidak akan menjadi administrator - yaitu, Anda tidak memerlukan pengetahuan yang terlalu dalam - tetapi pengetahuan yang meyakinkan tentang platform ini untuk tugas-tugas administratif sederhana (merencanakan peluncuran skrip atau membuang sumber daya OS) akan diperlukan. Di sinilah buku "LINUX - Pocket Guide" oleh Scott Granneman akan membantu. Itu bisa dipelajari dalam beberapa hari.
Tentang teori probabilitas, saya akan merekomendasikan buku "Theory of Probabilities" karya GG Bitner - yang berisi teori dan masalah. Teori probabilitas akan berguna untuk wawancara dan pekerjaan.
Siapa pun yang bekerja di bidang TI memerlukan pengetahuan dan keterampilan minimum. Karenanya, buku "Minimal Teoritis dalam Ilmu Komputer - segala sesuatu yang perlu diketahui oleh programmer dan pengembang" (Philo Vladston Ferreira) adalah program pendidikan dalam ilmu komputer.
Jika Anda mendalami pemrograman dan pengembangan tingkat rendah, Anda akan membutuhkan algoritme. Dalam buku "Algoritme untuk Pemula - Teori dan Praktik untuk Pengembang" oleh Panos Luridas, algoritme diberikan tanpa mengacu pada bahasa tertentu. Ada buku yang lebih panjang untuk C ++ - "Algorithms in C ++" oleh Robert Sedgwick; ini berguna ketika Anda ingin menghilangkan beberapa operasi tingkat tinggi yang dimiliki Python dan membuat algoritma dari awal.
Jika Anda ingin mendapatkan gambaran umum tentang pekerjaan tingkat atas seorang data scientist, maka buku "Bekerja dengan data di bidang apa pun - cara mencapai level baru menggunakan analitik" oleh Kirill Eremenko adalah untuk Anda. Tidak ada pemrograman di sini. Tetapi, jika Anda sudah ahli, ini akan berguna bagi Anda hanya jika Anda belum bekerja dengan data.
Berikutnya: “Ilmu Data. Ilmu Data dari Awal oleh Joel Grasz juga merupakan buku yang bermanfaat. Dari publikasi yang sama - “Statistik Praktis untuk Profesional Ilmu Data. 50 Konsep Penting ”oleh Peter Bruce dan Andrew Bruce. Anda juga dapat mempelajari statistik di sini.
Jika Anda akan bekerja dengan data dengan Python dan menggunakan pustaka Pandas, maka Anda pasti membutuhkan "Python dan Analisis Data" oleh Wes McKinney, penulis pustaka Pandas itu sendiri.
Tentang pembelajaran mesin, saya merekomendasikan dua buku: Pembelajaran Mesin oleh Peter Flach dan Python dan Pembelajaran Mesin oleh Sebastian Raska.
Untuk pembelajaran mendalam, ada buku Pembelajaran Mendalam dengan Python oleh Francois Schollet, di mana Anda dapat mempelajari jaringan saraf untuk masalah NLP dan penglihatan komputer. Khusus di NLP, ada "Analisis Terapan Data Teks dengan Python" oleh Benjamin Bengford, Rebecca Belbrough, dan Tony Ojeda.
Jika Anda ingin mempelajari TensorFlow untuk pembelajaran mendalam, ada buku dengan nama yang sama oleh Bharat Ramsundar dan Reza Bosag Zade.
Ada juga buku yang secara sederhana dan jelas menjelaskan prinsip-prinsip jaringan saraf - buku "Grock Deep Learning" karya Andrew Trask. Ada juga "Algoritma Grock" - ini menjelaskan algoritma dengan baik yang dapat berguna dalam wawancara dan praktik.
Apa yang Anda tanyakan dalam wawancara?
Ada sejumlah kecil pertanyaan. Ada pertanyaan tentang pembelajaran mesin klasik - seorang spesialis yang mendapat pekerjaan di bidang ilmu data dan AI harus mengetahui cara kerja model pembelajaran mesin klasik: linier, regresi logistik, penurunan gradien, regularisasi L1-L2. Seseorang perlu berbicara tentang prinsip operasi pohon keputusan, tentang kriteria konten informasi untuk masalah klasifikasi dan regresi; sehingga seseorang tahu cara kerja hutan acak, peningkatan gradien. Sangat baik jika dia mengetahui perbedaan antara model peningkatan gradien - Catboost, LightGBM, XGBoost - yaitu, perbedaan pustaka ini, bagaimana peningkatan gradien diterapkan di dalamnya. Anda juga membutuhkan seseorang untuk memiliki perpustakaan pembelajaran mesin - Pandas, NumPy, SKLearn. Jika seorang spesialis perlu bekerja dengan jaringan saraf, dengan visi komputer, dengan NLP,kemudian akan ada pertanyaan tentang topik ini.
Ada banyak pertanyaan. Jika seseorang menjawab dengan baik, maka menarik untuk bertanya kepadanya tentang beberapa proyeknya - jika seseorang telah melakukan sesuatu, orang yang diwawancarai segera memiliki banyak pertanyaan terkait dengan proyek tersebut. Jika Anda memiliki proyek pribadi di GitHub, atau proyek pendidikan dari kursus, akan sangat baik jika Anda dapat menceritakan secara detail tentang teknologi dan algoritme yang Anda gunakan.
Selain itu, selama wawancara, Anda dapat mengajukan pertanyaan dasar yang berbeda. Biasanya, jika seseorang menjawabnya dengan baik, kemungkinan besar dia adalah spesialis yang baik. Tentu saja, penting baginya untuk dapat menyelesaikan tugas ujian. Teori adalah satu hal, tetapi bagaimana seseorang dapat memecahkan masalah praktis, memprogramnya, kode apa yang akan dia tulis juga penting. Jika seseorang mengetahui keseluruhan teori, tetapi mengirimkan kode di mana OP tidak digunakan saat diperlukan, maka dia tidak tahu bagaimana menerapkan teori dengan benar. Juga, tentu saja, kode itu sendiri harus dapat dibaca dan diberi komentar.
Saya juga ingin berbicara tentang komputasi kuantum, pembelajaran mesin kuantum adalah bidang lain yang saya minati, tetapi hari ini saya tidak akan punya waktu.
Apa yang harus ditulis di resume untuk menerima undangan wawancara?
Resume adalah momen krusial. Pertama, itu tidak boleh membengkak dalam volume: itu harus berisi pengalaman yang relevan saja. Jika Anda bekerja di bidang khusus yang tidak terkait dengan TI, ini tidak perlu. Buat daftar pencapaian Anda secara singkat, proyek, kursus yang diambil, relevan dengan lowongan. Tuliskan apa yang menunjukkan Anda sebagai spesialis yang mampu melakukan pekerjaan itu. Dan, tentu saja, ringkasannya harus bisa dibaca.
Apa yang terjadi sebelumnya
- Ilona Papava, Senior Software Engineer di Facebook - cara mendapatkan magang, mendapatkan tawaran, dan segala sesuatu tentang bekerja di perusahaan
- Boris Yangel, insinyur Yandex ML - bagaimana tidak bergabung dengan barisan spesialis bodoh jika Anda seorang Ilmuwan Data
- Alexander Kaloshin, EO LastBackend - cara meluncurkan startup, memasuki pasar Cina, dan mendapatkan 15 juta investasi.
- , Vue.js core team member, GoogleDevExpret — GitLab, Vue Staff-engineer.
- , DeviceLock — .
- , RUVDS — . 1. 2.
- , - . — .
- , Senior Digital Analyst McKinsey Digital Labs — Google, .
- «» , Duke Nukem 3D, SiN, Blood — , .
- , - 12- — ,
- , GameAcademy — .
- , PHP- Badoo — Highload PHP Badoo.
- , CTO Delivery Club — 50 43 ,
- , Doom, Quake Wolfenstein 3D — , DOOM
- , Flipper Zero —
- , - Google — Google-
- .
- Data Science ? Unity
