¿Necesito buenos conocimientos en informática para algún día conseguir un trabajo en inteligencia artificial? Soy programador, ¿es esto todo el ‘CS’ que necesitaré?

La IA es un campo extremadamente amplio. Las personas con trabajos en esta área tienden a estar muy especializadas en subcampos particulares. Estos van desde PNL hasta visión por computadora, traducción automática y reconocimiento de voz, robótica, aprendizaje por refuerzo, IA de juegos, búsqueda en la web y recuperación de información, sistemas de recomendación, asistentes personales digitales e interacción humano / computadora. Algunos de estos, como la visión y el reconocimiento de voz, son extremadamente matemáticos y tienden a extraer de campos como el procesamiento de señales digitales. Algunos, como HCI, están un poco más orientados a las ideas, basándose en la psicología y la ciencia cognitiva. La PNL es muy amplia, abarcando desde la clasificación y agrupamiento de texto, que es bastante matemático, hasta el etiquetado de parte del discurso y el análisis semántico, que requiere un conocimiento lingüístico de alto nivel. Algunos de ellos, como la búsqueda web, en realidad son increíblemente simples a nivel conceptual, pero se ocupan de problemas de escala masiva y escasez. Luego, tiene especialistas en la teoría de la IA, cosas como la teoría de juegos y la teoría de decisiones, que se basan en gran medida en la economía o en sistemas expertos, que son bastante pesados ​​en CS, y se basan en índices extremadamente eficientes y medidas de similitud aproximadas. Gran parte de lo que encontraría en un curso de encuesta de posgrado que no está especializado en uno de estos subcampos son trucos inteligentes para obtener soluciones aproximadas a problemas NP-difíciles en un tiempo razonable para la mayoría de los casos prácticos, basándose en gran medida en discretos y combinatorios mejoramiento. Encontrará un uso intensivo de la heurística y la programación de restricciones, que posiblemente no sea tanto “inteligencia” como el programador que integra sus propios conocimientos en un sistema de búsqueda de fuerza bruta.

Si ya eres programador, bueno, esa es probablemente toda la habilidad de programación que necesitarás. Implementar ideas en código tiende a no ser la parte difícil de esto. La mayor parte del trabajo duro es conceptual, cosas como decidir sobre representaciones de estado, representaciones de conocimiento, funciones de evaluación, medidas de error, algoritmos de aproximación iterativos, optimización de hiperparámetros, el nivel correcto de regularización. Si lo hace mal y tiene que depurar su sistema, no es como la depuración normal. Su código puede ser perfectamente correcto, pero aún no logra lo que pensaba que lograría. Es mucho más como la ingeniería clásica o ser un inventor, solo jugando con algo hasta que funcione. Muchos de los principales avances provienen de personas que simplemente arrojan cosas a la pared, encuentran algo que funcionó, luego regresan después del hecho y hacen los cálculos para demostrar que realmente tiene sentido y no solo funciona por pura suerte. Por supuesto, no tiene que ser la misma persona que hace las dos cosas. Puedes ser el retocador o el proverbio. Los piratas informáticos y los matemáticos son bienvenidos.

Tener experiencia en CS definitivamente ayudará a conseguir un trabajo en una gran empresa de tecnología, y ahí es donde se está realizando parte del trabajo de IA de vanguardia. Muchas de las personas que trabajan en IA en Google tienen doctorados donde el campo de investigación es un subcampo de IA. (Por lo general, las especializaciones están en áreas específicas como PNL, visión artificial, etc.)

Si está buscando aplicar las técnicas de inteligencia artificial existentes a un problema de software en particular, puede hacerlo con algunas soluciones estándar. No tengo ninguna experiencia con este enfoque, pero imagino que un desarrollador podría desarrollar cierta habilidad con las herramientas sin tener un título de CS.

Solía ​​ser que la búsqueda era un tema avanzado que requería conocimiento experto y desarrollo personalizado. Se desarrollaron algunas bibliotecas que facilitaron el proceso (sobre todo Apache Lucene), pero aún así requirieron alguna integración personalizada. Luego, surgieron algunas soluciones más fáciles de usar que envolvieron las bibliotecas, como Solr y Elasticsearch. Un desarrollador de software suficientemente competente puede aprender a usar estas soluciones con bastante facilidad. Sacar el máximo provecho de ellos puede requerir cierta comprensión “oculta”, así como experiencia con las herramientas. Pero la mayoría de los desarrolladores podrían comenzar a experimentar con el sistema en unos pocos días.

Sospecho que AI está en la etapa de “Lucene” en la actualidad. No sé de ningún sistema en el que pueda lanzar documentos / imágenes / etc. en ello y que construya modelos inteligentes. Dicho esto, no estoy bien versado en lo que está realmente disponible, así que tómalo con un grano de sal.

El campo de la IA requiere mucha menos programación y mucha más matemática e intuición.

Para comenzar, realmente ni siquiera necesitas muchas matemáticas; porque lo más probable es que implementes algo que ya es popular y establecido (pero simplista). En la mayoría de los casos, las matemáticas ya se te han dado, así que solo debes programarlas.

Por ejemplo: en una red neuronal (perceptrones), la función matemática para la activación puede ser función escalonada, tanh o sigmoide (1 + e ^ -x) ^ – 1. La propagación hacia atrás es la derivada de aquellos, que para y (x) = (1 + e ^ -x) ^ – 1) es y (x) * (1 – y (x)). Fácil verdad? Ni siquiera necesitas saber las matemáticas. Realmente ni siquiera necesitas programación. Cree una función de activación (act (int x)) que tome x, e es una variable estática y eso es todo. Para derivada, se llama int temp = act (x); temp de retorno * (1 – temp); Acabo de programar todas las matemáticas difíciles para este perceptrón multicapa aquí mismo.

Ahora entra el problema (esto es por mi experiencia). ¿Qué sucede cuando tu IA deja de aprender? ¿O no aprende correctamente? Está tratando de aprender 1+ 1 = 2, pero pones 1 y 1 como entrada, la salida es 3, 5, 1, 5, 6, etc.… ¿cómo “depuras” tu IA?

Ese es el dolor de cabeza con la IA, es que su programación y matemática son tan simples que cuando algo sale mal, no sabrá dónde comenzar a depurar (como principiante).

Comencé a construir IA hace unos 15 años (justo al salir de la universidad). En ese momento, nadie realmente podía ayudarme porque todavía no había mucha gente en el campo de la IA, ciertamente no tenía Quora y no estoy seguro de si existió stackoverflow o stackexchange, por lo que todos los resultados de Google le informan sobre implementación básica sin más explicaciones sobre cómo “depurar o ajustar” su IA. Así que lo único que me queda es mi intuición. Ajusté la estructura básica del perceptrón para hacer la normalización en los datos de entrada y salida, agregué la red de corrección de errores porque el resultado seguiría estancado (es como 1 + 1 = 3 y siempre 3); así que hubo dos perceptrones que se entrenaron simultáneamente, el resultado principal mostraría 3 y la corrección muestra -1 para las entradas 1 y 1 (solo un ejemplo, mis conjuntos de datos fueron mucho más complicados).

Eso también es lo que me gustó de la IA. El campo es casi puro basado en la investigación. No hay un estándar ni consenso sobre qué funciona y qué no. Si puedes obtener resultados, ¡es genial! Puede ser pionero en su propia IA y dejar que su pensamiento creativo se vuelva loco.

Que te diviertas.

Para AI, el requisito del lado de la “programación” del conocimiento no es tan alto. Entonces, si eres un programador, eso debería estar bien. La matemática, por otro lado, es otra historia, y (al menos para mi caso) el cálculo regular de ingeniería eléctrica y el álgebra lineal no fueron lo suficientemente buenos para la IA.

More Interesting

Soy un ingeniero más nuevo. ¿Debo hacer un MBA de una universidad como PUMBA o NL Dalmia?

¿Los estudiantes internacionales necesitan un doctorado en psicología para construir una carrera en ese campo, o es suficiente una maestría?

¿Es posible crear mi idea de producto y qué puedo hacer si no tengo ninguna de las habilidades necesarias para hacerlo?

¿Cuáles son las opciones de carrera de TI para un graduado no informático?

Me han dicho que, como lingüista, podría recurrir fácilmente a la programación. ¿Es esto cierto?

¿Qué es mejor para más fresco, Wipro o Accenture? Wipro ha proporcionado la fecha de incorporación y la transmisión es la gestión de seguridad de la información-seguridad SAP. Por otro lado, Accenture se unirá pronto también. ¿A cuál debo ir?

¿Cuántas rondas hay durante la entrevista de la Armada por el equipo de selección de la Armada del programa de ingreso a la universidad?

¿Cómo es una entrevista no técnica en Facebook?

Tengo un trabajo de tiempo completo. Si dirijo un negocio secundario y termina perdiendo mucho dinero, ¿podría deducir impuestos de esas pérdidas de mis ganancias del trabajo a tiempo completo?

¿Deberían los estudiantes de las ferias universitarias de carreras profesionales aplicarse a todas las empresas?

Soy un taxista retirado (56 años). ¿Es demasiado tarde para comenzar a prepararme para el CAT?

¿Cuál es la mejor aplicación de gestión de campo?

En mi CV, ¿puedo mencionar mi experiencia en una empresa ficticia o debo evitarla, especialmente cuando tiene mala reputación?

¿Qué tan interesante es tener un puesto de gestión de productos en una organización mundial?

¿Cómo podría una enfermera registrada u otro tipo de enfermera convertirse en multimillonario?