Luka: Herkese merhaba ve tekrar hoş geldiniz.
Bu videoda, ChatGPT
hakkında konuşacağız ve kursta kullanacağımız
Doom için aynı algoritmayı, konvolüsyonel derin Q-öğrenmeyi
uygulamak için nasıl kullanacağımızı
anlatacağız.
Bu yüzden önümüzdeki
birkaç dakika içinde, ChatGPT'ye modelimizi almamız için işaret
ettiğim ve sorduğum yoldan geçeceğiz.
Bu yüzden bunu nasıl yaptığımı ve neden bazı ipuçlarını
bu şekilde yaptığımı anlamanıza yardımcı olmama izin verin.
Bu yüzden, ilk ipucu benim açımdan oldukça iyi hazırlanmıştı.
Dedim ki: "Makine
öğrenimini simülasyonlara ve robot teknolojilerine
uygulayan projeler üzerinde yıllarca
çalışmış Kıdemli Makine Öğrenimi Uzmanısınız. Bu ilk kısım, sahneyi hazırlamak, onlara bir
rol vermek.
Yani temel olarak, tüm ChatGPT'nin vektör alanı
makine öğrenimi konularında daha fazla teşvik edilecektir.
Şimdi bağlamıma Doom'u getirmek istiyorum.
Ve aslında, bu noktaya nasıl ulaşacağımı, "Tamam, Doom ortamı için
bir Evrişimsel Derin Q-Öğrenme
algoritması uygulamamda bana
yardımcı olman için seni tuttum" dedim.
"Amaç, bir oyun ortamı olan Doom'u oynayabilen
"tamamen işlevsel
bir takviyeli öğrenme algoritmasına" sahip olmaktır.
"Experience_replay ve bellek ve görüntü işleme için
sınıflar uyguladım.
"Bunu size sağlayacağım", böylece bunu nihai koda dahil
edebilirsiniz.
Bu, çoğu insanın gözden kaçırdığı gerçekten önemli bir noktadır.
Ona veya ChatGPT'ye zaten bir şeye sahip olduğunuzu
ve bu kodu son uygulamada kullanmak istediğinizi
söylemenin bir yolunu bulmanız
gerekir.
Dolayısıyla, bunu bir bağlam olarak sağlamazsam, experience_replay
ve görüntü işleme işlevimizi kullanmayı
düşünmeyen bazı kodlar, bazı konvolüsyonel
derin Q-öğrenme uygulamaları üretecektir,
ancak biz bunu istiyoruz.
Sonra da şöyle devam
ediyorum: "Amacınız Python kullanarak
tam çözümü uygulamak, "Model için Torch, "ve kodu Google Colab'da
çalıştırılacak şekilde optimize etmek, "böylece
koddan geçen öğrenciler "çok güçlü olmayan bilgisayarlara sahip olanları çalıştırabilir.
Bu
temel olarak ChatGPT'ye sahip olmak istediğiniz nihai
çözümün formatının ne olduğunu söylemektir.
Ve son olarak, "gerekirse açıklayıcı sorular sormak"
ona daha fazla bağlam sağlayacaktır.
Ve, "Eh, eğer bilmiyorsanız, "eğer yeterli içeriğe sahip
değilseniz, lütfen bana sorun. Ve son olarak sordu, "Anladın mı? Olduğunu teyit etmek istedim.
Bu, bunun üzerinde düşünmesine izin vermenin ve kesinlikle
bir sonraki istemleri, bir sonraki yanıtları oluşturmaya gitmemenin akıllıca bir yoludur.
Eğer bunu yapmazsanız,
eğer "Anladınız mı? " ya da "Temiz mi? ya da "Anlıyor musun? " veya buna benzer bir şey
yazarsanız, bazı parçaları tamamen yok
sayacak ve üretmeye başlayacaktır.
Sorularınızda ve cevaplarınızda kaç
jetonunuz olduğuna dair
bir sınırınız olduğundan, bunu kırmak istersiniz,
böylece üretebileceğiniz jeton miktarını yenileyebilirsiniz.
Dolayısıyla ilk cevap
şudur: "Görevi anladım.
"Tam olarak ne isteyeceksem onu yapacağım.
"Ancak devam etmeden önce birkaç sorum olacak. İşte bu noktada "sorunuz varsa bana sorun", bana
oldukça iyi sorular sordu.
Öncelikle, özel bir ortamınız var mı, yoksa zaten var olan bir
şeyi mi kullanıyorsunuz?
Yani OpenAI, VizDoom ve bunun gibi şeyler.
Daha sonra, takip etmemi
istediğiniz belirli performans ölçütleri
var mı?
Modelin kendisiyle ilgili gereklilikler var mı?
Python ve PyTorch'un hangi sürümleri?
Ve son olarak, son teslim tarihi konusunda
belirli kısıtlamalar var mı?
Bu, çoğunlukla üzerinde eğitim aldığı
iş planlarından, ancak bunun için,
gerçekten, bunun için uygun olmadığı gibi, ama tamam.
Ben de: "Evet, OpenAI Gym kullanacağım ve işte nasıl
yükleneceği. Bu kurstan.
Dedim ki, tamam, ortalama ödülü takip edin, belirli
gereksinimler yok, çalıştığı sürece yaratıcı olun, kütüphanelerin
en son modellerini veya sürümlerini kullanın
ve son tarih nedir?
Az önce "en kısa sürede" yazdım.
Ek olarak, işte bahsettiğim bu sınıflar.
Bu yüzden kursta sahip olduğumuz sınıfları yapıştırdım.
Yani yeniden oynatma
deneyimi, her şey ve son olarak yeniden oynatma
belleği, görüntü işleme ve hepsi bu.
Ve bununla, bağlamı oluşturdum
ve şimdi üretmeye başladı.
Böylece kodu oluşturdu.
Temel olarak görüntüyü ön işlemden
geçirerek başladı, ardından elimizdekine
oldukça benzeyen derin Q-ağını oluşturdu.
Ardından, bunu başlatarak
ve ardından kodu eğiterek başladı.
Şimdiye kadar her şey işe yaradı ve sonra burada bozuldu.
Daha uzun bir şey üretmeye
devam etmek istiyorsanız, sadece "devam et" yazdım.
Ve dedi ki, "Devam edelim mi? Evet, kesinlikle. Üretmeye devam eder ve bam, kodun
tamamını elde ederiz.
İnanılmaz.
Nasıl kullanılacağı, sıklığı,
nelerin değiştirileceği ve bunun gibi şeyler belirtiliyordu.
Bu konuda da bana yardımcı oldu.
Ve sizi Google Colab'ıma götürmeme izin verin.
Bu yüzden kodu buraya yapıştırarak başladım,
ön işleme fonksiyonumuzu yapıştırdım.
Birazdan bu ön işleme işlevindeki değişikliklere
geçeceğim.
Ardından, bu deneyim tekrarını, benim tarafımdan bazı
kurulumları yapıştırdım.
Bunu birazdan açıklayacağız.
Onun derin Q-ağıyla ve eğitim koduyla oynadım.
Yani bunu geliştirmenin kesinlikle yolları var.
Özellikle yerel ortamınız varsa işe yarayacaktır.
Bunu Google Colab'da kullanıyorsanız, bozulabilir.
Sizi bu konuya getireyim.
Ben de yaptım ve bir hata aldım.
Dedim ki, "Hey, sağladığı ilk kodum çalışmadı.
Az önce kodu yapıştırdım,
bu hata mesajı ve "Bir resmi yeniden boyutlandıramıyorum. Ve kurstaki kodumuza bakarsanız, görüntüyü bununla yeniden
boyutlandırmayı gerektirir.
Ancak SciPy'nin yeni sürümü aslında bunu kaldırıyor.
Bu yüzden, "Evet, bu kaldırılmış gibi görünüyor"
dedi. "İşte Pillow'un yeni versiyonu.
Ve aslında, buna gerek yoktu.
Temel olarak tüm ön işleme görüntü sınıfını
SciPy yerine Pillow ile yeniden yazdı.
Ben de kullandım ve gerçekten işe yarıyor.
Ve sonra dedim ki, "Tamam, "Google Colab kullanan
Çevre ile ilgili bir sorunum var.
"Nasıl çözülür? Hata bu. Ve dedi ki, "Evet, özür dilerim.
"Görünüşe göre bu özel ortam işe yaramıyor.
"İşte yapacağınız şey.
"Temel olarak bunu kuruyor ve yapıyorsunuz. Bir hata aldım, başka bir hata.
Ve bu hata aslında render
işleminin bu belirli sürümde bulunmadığını gösterdi.
Ve dedi ki, "Tamam, bu sürümü yükleyin. Ben yaptım. Başka bir hata.
Ve "Oh, evet, evet, "Google Colab render işlemini, OpenGL kütüphanelerini
desteklemiyor" dedi, bu
da bizim için Google Colab yerine görselleştirme amacıyla
başka bir şey yapmamız gerektiği
anlamına geliyor.
Ve temelde bana adım adım ne yapacağımı, bunu nasıl
değiştireceğimi
ve bunun gibi şeyleri gösterdi.
Ve bunu yerel olarak yaparsanız, sorunu çözmüş olursunuz.
Ancak bu temelde şimdi
size ChatGPT'yi nasıl doğru kullanacağınızı öğretiyor.
Mesela, tam burada, bazı hatalar aldığımı gördünüz, bu hatalarla
ilgili uyarıda bulundum vb.
Ve şimdi, geriye
doğru kaydırırsanız, derin bir Q-ağına sahip tam işlevli
bir kodunuz, bir eğitim kodunuz
var ve gidip bir
test kodu oluşturmasını isteyebilirsiniz
ve oluşturacaktır.
İnanılmaz, değil mi?
İşte bu kadar.
Bu, Doom için derin Q veya evrişimli derin Q ağını çözmek için ChatGPT'nin
nasıl kullanılacağını açıklar.
Teşekkürler. Kursun tadını çıkarın!