Luka: Hola a todos y bienvenidos de nuevo.
En este vídeo
vamos a hablar de ChatGPT y de cómo utilizarlo
para implementar el mismo algoritmo para Doom que vamos a
utilizar en el curso, el aprendizaje
Q profundo convolucional.
Así que en el próximo par
de minutos, vamos a caminar a través de la forma en que realmente señaló y pidió
ChatGPT para nosotros para obtener nuestro modelo.
Así que permíteme ayudarte a entender cómo lo hice
y por qué hice ciertas indicaciones de la forma en que lo hice.
Así que el mensaje inicial estaba bastante bien elaborado por mi parte.
Dije: "Eres un Experto
Senior en Aprendizaje Automático "con años
de experiencia trabajando en proyectos "aplicando
el aprendizaje automático a simulaciones y robótica". Esta es la primera parte, preparar el escenario, darles
un papel.
Así que, básicamente, el espacio vectorial de
todo el ChatGPT se impulsará más en temas de aprendizaje automático.
Ahora quiero traer a mi contexto, Doom.
Y en realidad, cómo llegar a ese punto, le dije: "Bueno, te contraté para
que me ayudes "con la implementación
de un algoritmo Convolutional Deep
Q-Learning "para el entorno Doom.
" El objetivo es tener "un algoritmo de aprendizaje
por refuerzo plenamente
funcional "que pueda jugar a Doom, un entorno de juego.
"He implementado clases "para experience_replay y memoria y
procesamiento de imágenes.
"Se lo proporcionaré para que pueda incorporarlo
al código final.
Esto es realmente importante, algo que la mayoría de la gente pasa por alto.
Necesitas tener alguna forma de decirle, o
decirle a ChatGPT, que ya tienes algo y que quieres
usar ese código en la implementación
final.
Así que si yo no proporciono esto como un contexto, se generará algún
código, alguna implementación de convolucional
profunda Q-aprendizaje que no tendrá
en cuenta el uso de experience_replay y nuestra función
de procesamiento de imágenes, pero queremos
eso.
Por lo tanto, luego
continúo diciendo: "Su objetivo es implementar
la solución completa utilizando Python, "Antorcha para el modelo,
"y optimizar el código para ser ejecutado en Google
Colab "para que los estudiantes que van a través del código "puede ejecutar aquellos con
ordenadores no tan fuerte. Esto es básicamente
decirle al ChatGPT cuál es el formato de la solución
final que le gustaría tener.
Y, por último, "haga preguntas aclaratorias si es
necesario" le proporcionará más contexto.
Y, "Eh, si no sabes, "si no tienes suficiente contexto,
por favor pregúntame. Y, por último, preguntó: "¿Lo tienes? Quería confirmar que lo consiguió.
Esta es una forma inteligente de permitirle reflexionar sobre
esto y no ir estrictamente a generar las siguientes indicaciones, las siguientes respuestas.
Si no lo haces, si no
preguntas "¿Lo tienes? " o "¿Despejado? o "¿Entiendes? " o algo parecido, ignorará
por completo algunas de las partes
y empezará a generar.
Ya que tiene el límite de cuántos tokens
tiene en sus preguntas y
en la respuesta, le gustaría romperlo para que
pueda obtener una actualización de la cantidad de tokens que puede generar.
Así que la primera respuesta
es: "Entendí la tarea.
"Voy a hacer exactamente lo que voy a pedir.
"Pero antes de continuar, tengo algunas preguntas. Y aquí es donde este "si tienes alguna pregunta, pregúntame",
me hizo muy buenas preguntas.
En primer lugar, ¿tienes un entorno personalizado o utilizas
algo que ya existe?
Así que OpenAI, VizDoom y cosas así.
Luego pasamos a algo más como, ¿hay
alguna métrica de rendimiento específica que te gustaría
que siguiera?
¿Existen requisitos para el modelo en sí?
¿Qué versiones de Python y PyTorch?
Y por último, ¿hay alguna limitación específica
en cuanto al plazo?
Esto es de la mayoría de los planes de negocio
que fue entrenado en, pero para él, como,
que en realidad no, como esto no es relevante para él, pero está bien.
Yo proporcioné: "Sí, usaré OpenAI Gym, y aquí está
cómo cargarlo. Esto es del curso.
Dije, vale, sigue la recompensa media, sin
requisitos específicos, sé creativo mientras funcione, utiliza
los últimos modelos o versiones de las bibliotecas,
y cuál es el plazo.
Acabo de escribir "ASAP".
Además, aquí están estas clases que he mencionado.
Así que pegué las clases que tenemos en el curso.
Así que repetición de experiencias,
todo, y por último, memoria de repetición, procesamiento
de imágenes, y eso es todo.
Y con esto, construyo el contexto,
y ahora empezó a generar.
Así que generó el código.
Básicamente, empezaba preprocesando
la imagen y luego creaba la red Q profunda, que es
bastante similar a la que tenemos nosotros.
Entonces, comenzó
por inicializar eso, y luego el código de entrenamiento.
Hasta ahora todo funcionaba, y aquí se rompe.
Si quieres seguir generando
algo más largo, simplemente escribí "continuar".
Y decía: "¿Continuar? Sí, desde luego. Continúa generando, y bam, tenemos
el código completo.
Increíble.
Decía cómo usarlo,
la frecuencia, qué cambiar y cosas así.
A mí también me ayudó con esto.
Y permítanme llevarles a mi Google Colab.
Así que empecé por pegar el código aquí,
pegado nuestra función de pre-procesamiento.
Voy a saltar a los cambios en esta función de preprocesamiento
en un segundo.
A continuación, pegué esta repetición de la experiencia, parte de
la instalación desde mi extremo.
Lo explicaremos en un segundo.
He jugado con su red Q profunda y su código de entrenamiento.
Así que sin duda hay formas de mejorar esto.
Sobre todo si tienes un entorno local, funcionará.
Si utilizas esto en Google Colab, puede que se rompa.
Así que déjame llevarte a eso.
Así que lo hice y obtuve un error.
Le dije: "Oiga, el código inicial que me proporcionó no funcionaba.
Acabo de pegar el código, este
mensaje de error, y diciendo: "No puedo cambiar el tamaño de una imagen. Y si usted echa un vistazo a nuestro código del curso, se requiere para
cambiar el tamaño de la imagen con esto.
Pero la nueva versión de SciPy está eliminando esto.
Así que dijo: "Oh, sí, "parece que esto puede haber
sido eliminado. "Aquí está la nueva versión con Pillow.
Y en realidad, no hacía falta.
Básicamente reescribió toda la clase de preprocesamiento
de imágenes con Pillow en lugar de SciPy.
Así que lo usé, y de hecho funciona.
Y entonces dije: "Vale, tengo un problema con que Medio
Ambiente utilice Google Colab.
"¿Cómo resolverlo? Este es el error. Y decía: "Oh, sí, discúlpate.
"Parece que este entorno concreto no funciona.
"Esto es lo que tienes que hacer.
"Básicamente instalas y haces esto. Tengo un error, otro error.
Y este error en realidad indica
que el renderizado no se encuentra en esta versión en particular.
Y decía: "Vale, instala esta versión. Lo hice. Otro error.
Y decía: "Oh, sí, sí, "Google Colab no admite renderizado, bibliotecas OpenGL",
lo que significa, para nosotros,
que tenemos que hacer, en lugar de Google Colab, otra cosa para la
visualización.
Y básicamente me dio un paso a paso, que conduce sobre
qué hacer, cómo cambiar
eso, y cosas por el estilo.
Y si lo haces localmente, resolverás el problema.
Pero esto es básicamente
ahora te enseña cómo utilizar correctamente ChatGPT.
Por ejemplo, aquí mismo, has visto que tengo algunos errores, he avisado
con esos errores, etcétera.
Y ahora, usted tiene,
como, si se desplaza hacia atrás, usted tiene un código de pleno funcionamiento
con una profunda red Q, con un código de entrenamiento,
y usted puede ir y pedirle que genere un código de
prueba, y lo hará.
Increíble, ¿verdad?
Eso es todo.
Así es como se utiliza ChatGPT para resolver la Q profunda,
o red Q profunda convolucional para Doom.
Gracias. ¡Disfrute del curso!