No conozco ningún trabajo similar a este. Hubo un documento sobre el uso del peso binario en redes neuronales, pero no estoy seguro de si es aplicable a su tarea. ¿Puedo preguntarte por qué quieres hacerlo?
Si está construyendo entradas a una red neuronal, el método más aceptado es word2vec. Entonces la pregunta es si esos vectores pueden ser binarios.
En general, puede, es decir, realizar un paso de entrenamiento normal y, después de cada actualización, redondear esos vectores a 1 y 0. Sin embargo, el rendimiento no será bueno.
- ¿Cuál es el impacto de la limitación de la velocidad de la luz en el aprendizaje automático?
- Para evaluar qué tan bueno es un hiperparámetro de red (por ejemplo, la tasa de deserción), ¿debo esperar a la convergencia?
- Cómo calcular la huella de memoria de un modelo particular de aprendizaje profundo
- ¿Puedes explicar el hashing de características de una manera fácil de entender?
- ¿El parámetro C afecta a una clase SVM?
La razón es que, generalmente, cada elemento en el vector representa cuán fuerte es cierta característica de la palabra. Suponga que el i-ésimo valor del vector representa la cantidad de pelaje, por lo que podría ser 0 para “pez”, 0.2 para “hombre” y “5” para gato. Redondear esos a binario significa que solo puede representar si la palabra tiene ciertas características. De nuevo en términos de pelaje, podría convertirse en 0 para “pez” y “humano”, 1 para “gato”. Aquí tiene una brevedad inherente: no puede reflejar la sutil diferencia entre las palabras. Simplemente trate de describir la diferencia entre “teléfono” y “tableta” enumerando lo que uno tiene y el otro no (luego use el mismo conjunto de características para describir “bueno” y “bonito”).
Por lo tanto, si va a implementarlo, intente configurar la longitud del vector muy grande, de modo que al menos tenga suficiente capacidad para codificar varias características.