Yapay Zeka Desteki Robot Kol Tasarımı ve Similasyonu

 Gereklilikler









.Net SDK 6

VS C++ 14.0

VS build tool

.NET Framework 4.7.1

Python 3.10

2022.3.7f1 Unity editor

MLagents 2.0.1 Unity package

--

pip 24.0

pytorch 1.12

mlagents 10

numpy1.23


Reinforcement Learning Nedir?

Pekiştirmeli öğrenme, yapay zeka ve makine öğrenmesi dünyasında, bir ajanın (mesela bir robot ya da bir yazılım) çevresiyle etkileşim kurarak ve bu etkileşimlerden ödül ya da ceza alarak öğrenmesini sağlayan bir yöntem. Burada, ajan kendi hedeflerine ulaşmak için doğru hareketleri seçmeyi öğreniyor.

Pekiştirmeli öğrenmenin temel unsurları şöyle:

1. Ajan: Karar veren sistemimiz, yani bir robot veya benzeri bir şey.
2. Çevre: Ajanın etkileşimde bulunduğu dünya veya ortam.
3. Eylemler: Ajanın çevresiyle iletişim kurmak için yapabileceği hareketler veya seçimler.
4. Ödül: Ajanın eylemlerinin sonucunda aldığı geri bildirim. Yüksek ödüller, doğru hareketleri yapmasını teşvik ederken, düşük ödüller veya cezalar yanlış seçimleri azaltmaya yardımcı olur.
5. Politika: Ajanın hangi eylemi seçeceğini belirleyen strateji.

Pekiştirmeli öğrenme, oyunlardan robotik uygulamalara kadar birçok alanda karşımıza çıkıyor. Ajan, deneyimlerinden ders çıkararak zamanla daha iyi bir performans sergilemeyi öğreniyor.



Kurulum Adımları

Terminali Açtıktan Sonra

1-) Unity Proje Dosyamızın olduğu dizine geliyoruz

2-)  py -m venv venv

3-) venv\Scripts\activate
4-) python -m pip install --upgrade pip
5-)pip install torch==1.12.0 -f https://download.pythorch.org/whl/torch_stable.html
6-) pip install mlagents numpy==1.23
7-) mlagents-learn --help ; kontorl amaçlı yazıyoruz
8-) MLagents 2.0.1 Unity package Unity Assets Manager den kuruyoruz
8.1-) Eğer probuff hatası alırsak pip install protobuf==3.20
Kurulum Bitti Şimdi Test e geçiyoruz
Bu Testi yapabilmemiz için projemizi ve test ediceğimiz agent i hazırlamamız gerekiyor.
cd venv
cd script
activate
cd..
cd.. ana dizinimize dönüyoruz
mlagents-learn --run-id=test1



Modelinizin Gelişimini Takip Etmek

ayrı bir terminalde

tensorboard kullanımı 2.16.2

tensorboard --logdir results

browsera localhost:6006 yazıp local hosta bağlanıyoruz




Eğittiğiniz Modeli Kullanmak

Eğittiğiniz yapay zeka modelini kullanmak için modelin kayıtlı olduğu bölümü bulmamız gerekiyor
bu projenizin içindeki results isimli dosyadır. oluşturduğunuz modeller bu klasörün içinde saklanır.


Burada .onnx türündeki dosyayı assets klasörüne kopyalayıp Behevior Type Inference Only olarak işaretlerseniz ve projenizi başlatırsanız kontol önceden eğittiğiniz model tarafından sağlanır.


Eğitilen Modelin Eğitimine Devam Etmek

mlagent-learn --initialize-from=runid --run-id=runid2
runid yerine önceden eğittiğiniz modelin id'si runid2 yerine de eğitilicek modelin yeni id si yazılmalıdır.

Genel Hatalar ve Çözümleri


protobuf hatası

pip install protobuf==3.20


IndexOutOfRangeException: Index was outside the bounds of the array.

Unity.MLAgents.Actuators.ActionSegment`1[T].set_Item (System.Int32 index, T value) (at ./Library/PackageCache/com.unity.ml-agents@2.0.1/Runtime/Actuators/ActionSegment.cs:98)

MoveToGoalAgent.Heuristic (Unity.MLAgents.Actuators.ActionBuffers& actionsOut) (at Assets/MoveToGoalAgent.cs:40)

Unity.MLAgents.Actuators.VectorActuator.Heuristic (Unity.MLAgents.Actuators.ActionBuffers& actionBuffersOut) (at ./Library/PackageCache/com.unity.ml-agents@2.0.1/Runtime/Actuators/VectorActuator.cs:83)


Agent parametrelerinde sensör sayısı hatalı girilmiş
















Bu bölümdeki parametreleri gözden geçirmeniz gerekir

__________________________________________________________

Karşılaştığınız Hatalar ve Sorularınız İçin

Ege ÖZTETİK
oztetikege@gmail.com

Share: