Preguntas de diseño de una red (primeros ejercicios de los parciales)

Preguntas de diseño de una red (primeros ejercicios de los parciales)

de Daniel Padron Simon -
Número de respuestas: 1

Buenos días, 

Les quería hacer 3 consultas relacionadas con el enfoque de los primeros ejercicios de los parciales anteriores presentados. 

Tanto en el de ensayo, como en el de 2023, se presenta un problema, y se solicita en su segunda parte que se diseñe la red. 

Mi primera pregunta está dirigida a si se busca que se explique completamente la red, o simplemente mencionar sus principales partes. Por ejemplo, en el primer ejercicio de 2023, sería razonable tanto el uso de BERT, como de una LSTM, ¿La respuesta debería incluir qué capaz ocultas y funciones de activación incluyen tanto las LSTM o BERT? ¿O sería aclarar el uso de bloques Transformers o LSTM, y si especificar cuáles capas ocultas/ funciones de activación se utilizaron previamente/posteriormente a esos bloques? Por ejemplo: “la entrada son los identificadores de los tokens, son ingresados a BERT, y los embbedings contextuales (salida de BERT) son aplicados a una capa lineal con dimensiones n=>m y función de activación ReLu (por ejemplo), y finalmente una softmax, teniendo la distribución de probabilidad de salida”  

La segunda duda es si es válido que el diseño incluya una red ya preentrenada, de forma que la última parte de este ejercicio, que plantea como se debería realizar el entrenamiento, en realidad sea un fine-tunning del modelo preentrenado, como agregar una capa adicional y utilizar las instancias disponibles para realizar un fine-tunning. 

Y mi última consulta sería con respecto a la búsqueda de hiperparámetros. En clase se expuso dos mecanismos de búsqueda de hiperparámetros, grid-search y random-search. ¿Lo que se está pidiendo es que se especifique cuáles son los principales hiperparámetros a buscar, y escoger algunos de estos dos métodos para realizar la búsqueda, o es algo más dependiendo de la red que estoy ignorando?


Saludos y gracias

Daniel 

En respuesta a Daniel Padron Simon

Re: Preguntas de diseño de una red (primeros ejercicios de los parciales)

de Luis Chiruzzo -
Hola,

Voy por partes:

- El nivel de detalle que le podés dar a la descripción puede depender de la complejidad de la red. Si tu propuesta es diseñar una red simple que toma como entrada centroide de embeddings y luego es un MLP, mejor definir cada capa con entradas, salidas, activación, etc. Pero si usás arquitecturas más complicadas como el transformer podés especificar que vas a usar un transformer con tal cantidad de capas, y luego enchufarle otras capas a la salida (o no, dependiendo de lo que quieras), y la salida de la red tiene tal función de activación. Si estás usando precisamente BERT, RoBERTa, LLama, etc, mencioná esas arquitecturas y especificá cómo modelás la entrada y luego qué le hacés a la salida para adaptarla a tu problema. De esta forma un poco el nivel de detalle te va a quedar atado a las arquitecturas que uses.

- Es válido decir que vas a usar una red preentrenada o un modelo de embeddings preentrenado o algo de eso. Indicalo, y decí qué otras cosas harías encima de eso. ¿Empezás con X modelo preentrenado y luego hacés fine-tuning? ¿Lo usás en modo zero-shot? Esas cosas son las que podés especificar para adaptarlas a tu problema.

- Sobre los hiperparámetros, eso que describís es lo que se busca. Y acordate que a medida que vamos avanzando en los tipos de redes van apareciendo más hiperparámetros a modificar. La idea es que describan una forma de entrenamiento y búsqueda y un conjunto de hiperparámetros que resulte apropiado para la tarea en cuestión.

Saludos,
Luis