Algoritmo Object2Vec
El algoritmo Amazon SageMaker Object2Vec es un algoritmo de integración neuronal de uso general muy personalizable. Puede aprender integraciones densas de baja dimensionalidad de objetos de alta dimensionalidad. Las integraciones se aprenden de tal forma que conservan la semántica de la relación entre pares de objetos en el espacio original, en el espacio de integración. Puede utilizar las integraciones aprendidas, por ejemplo, para calcular de forma eficaz los vecinos más próximos de objetos y para visualizar clústeres naturales de objetos relacionados en espacio de baja dimensionalidad. También puede utilizar las integraciones como características de los objetos correspondientes en las tareas supervisadas posteriores, como, por ejemplo, clasificación o regresión.
Object2Vec generaliza la técnica de integración conocida de Word2Vec para palabras que está optimizada en el Algoritmo BlazingText de SageMaker. Para ver una entrada de blog donde se explica cómo aplicar Object2Vec a algunos casos de uso prácticos, consulte Introduction to Amazon SageMaker Object2Vec
Temas
- Interfaz de E/S para el algoritmo Object2Vec
- Recomendación de la instancia EC2 para el algoritmo Object2Vec
- Cuadernos de ejemplo de Object2Vec
- Cómo funciona Object2Vec
- Object2Vec Hyperparameters
- Ajuste de un modelo Object2Vec
- Formatos de datos para la capacitación de Object2Vec
- Formato de datos para inferencia de Object2Vec
- Integraciones de codificador para Object2Vec
Interfaz de E/S para el algoritmo Object2Vec
Puede utilizar Object2Vec en varios tipos de datos de entrada, incluidos los ejemplos siguientes:
Tipo de datos de entrada | Ejemplo |
---|---|
Pares frase-frase |
“Un partido de fútbol con varios hombres jugando”. y “Algunos hombres practicando deporte”. |
Pares de etiquetas-secuencia |
Las etiquetas de género de la película “Titanic”, como “Romance” y “Drama”, y una breve descripción: "La película Titanic de James Cameron es un romance épico con mucha acción donde se narra el primer y funesto viaje inaugural del R.M.S. Titanic”. Fue el navío más lujoso de su época, un barco de ensueño, que acabó llevando a más de 1500 personas a su muerte en las aguas heladas del Atlántico Norte, en la madrugada del 15 de abril de 1912". |
Pares de cliente-cliente |
El ID de cliente Jane y el ID de cliente de Jackie. |
Pares de producto-producto |
El ID de producto de fútbol americano e ID de producto de baloncesto. |
Pares de revisión de elemento-elemento de usuario |
El ID de un usuario y los productos que ha comprado como, por ejemplo, manzanas, peras y naranjas. |
Para transformar los datos de entrada en los formatos admitidos, debe preprocesarlos. Actualmente, Object2Vec admite nativamente dos tipos de entradas:
-
Un token discreto, que se representa como una lista de un único
integer-id
. Por ejemplo,[10]
. -
Una secuencia de tokens discretos, que se representa como una lista de
integer-ids
. Por ejemplo,[0,12,10,13]
.
El objeto en cada par puede ser asimétrico. Por ejemplo, los pares pueden ser (token, secuencia) o (token, token) o (secuencia, secuencia). Para las entradas de token, el algoritmo admite integraciones simples como codificadores compatibles. Para secuencias de vectores de token, el algoritmo admite lo siguiente como codificadores:
-
Integraciones medias-agrupadas
-
Redes neuronales convolucionales jerárquicas (CNNs),
-
Memoria a corto y largo plazo bidireccional multi-capa (BiLSTMs)
La etiqueta de entrada de cada par puede ser una de las siguientes:
-
Una etiqueta categórica que expresa la relación entre los objetos del par.
-
Una puntuación que expresa el grado de la similitud entre los dos objetos.
Para etiquetas categóricas usadas en clasificación, el algoritmo soporta la función de pérdida entropía cruzada. Para etiquetas basadas en calificaciones/puntuación usadas en regresión, el algoritmo admite la función de pérdida de error cuadrático medio (MSE). Especifique estas funciones de pérdida con el hiperparámetro output_layer
al crear el trabajo de capacitación de modelo.
Recomendación de la instancia EC2 para el algoritmo Object2Vec
El tipo de instancia Amazon Elastic Compute Cloud (Amazon EC2) que utilice dependerá de si está entrenando o ejecutando inferencias.
Cuando capacite un modelo mediante el algoritmo Object2Vec en una CPU, comience por una instancia ml.m5.2xlarge. Para capacitaciones en una GPU, comience por una instancia ml.p2.xlarge. Si el entrenamiento dura demasiado en esta instancia, puede usar una instancia más grande. En la actualidad, el algoritmo Object2Vec solo puede entrenar en una máquina. Sin embargo, ofrece soporte para varias GPUs. El algoritmo Object2Vec admite las familias de instancias de GPU P2, P3, G4dn y G5 para el entrenamiento y la inferencia.
Para la inferencia con un modelo Object2Vec que tiene una red neuronal profunda, recomendamos que se use la instancia de GPU ml.p3.2xlarge. Debido a la escasez de memoria de GPU, la variable de entorno INFERENCE_PREFERRED_MODE
se puede especificar para su optimización en cuanto a si la red de inferencia Optimización de GPU: clasificación o regresión o Optimización de GPU: integraciones de codificador se carga en GPU.
Cuadernos de ejemplo de Object2Vec
nota
Para ejecutar los cuadernos en una instancia de cuaderno, consulte Acceso a cuadernos de ejemplo. Para ejecutar los cuadernos en Studio, consulte Creación o apertura de una instancia de cuaderno de Amazon SageMaker Studio Classic.