Искусственный General Int ...

Могу ли я научить себя искусственному интеллекту?

Любит | Нелюбов | Ответы | Вид | 6710


Chomba Bupe исследователь ИИ.   
@ | Обновлено Right Now


The answer is a resounding yes, but you really need to be disciplined to do that. Every time I get such a question I always ask for specifics, AI is extremely broad. The modern AI field is mainly comprised of:

  1. Machine learning (ML): which is about machines that learn and improve from examples. In ML there are supervised and unspervised learning methods such as:
    1. Artificial neural networks (ANN): Such as deep neural networks (DNN). ANNs are currently the go to algorithms for most AI related problems, we have:
      1. Convolutional neural networks (CNN).
      2. Recurrent neural networks (RNN) such as long-short-term-memory (LSTM) or gated recurrent unit (GRU) networks.
      3. Memory networks.
      4. Generative adversarial networks (GAN).
      5. Residual neural networks (ResNet).
      6. Autoencoders: Used for noise reduction, compression and many more. We also have generative adversarial autoencoders.
    2. Support vector machines (SVM). Based on hinge-loss minimization which results in maximum margin classifiers.
    3. Restricted Boltzmann machines (RBM).
    4. Clustering algorithms like k-means and agglomerative hierarchical clustering methods.
    5. K nearest neighbor lazy learning algorithms.
  2. Natural language processing (NLP): ML algorithms especially the RNNs such as LSTM or GRU networks are commonly used in NLP. But CNNs can also be applied in NLP by clever use of convolutions in time. NLP comprises of:
    1. Понимание естественного языка (NLU): что касается понимания разговорного языка, оно отличается от подхода, основанного на отображении, известного как распознавание речи. NLU настолько сложен, что его называют AI-complete или AI-hard.
    2. Генерация естественного языка (NLG): не так сложно, как NLU, но и сложна. Это в основном о создании языка, как следует из названия.
  3. Компьютерное зрение (CV) . Который также считается ИИ-полным, может использовать множество алгоритмов. В резюме у нас обычно есть:
    1. Трехмерное компьютерное зрение. Алгоритмы, такие как структура от движения (SfM) и одновременная локализация и картирование (SLAM) и оценка позы 3D-камеры, применяемые в приложениях дополненной реальности (AR), основаны на методах трехмерного компьютерного зрения, которые включают отслеживание выступающих областей и подгонку движения такие модели, как гомография или аффинные преобразования. Автоматическое сшивание панорам из фотографий также попадает в 3D компьютерное зрение, потому что для выравнивания изображений 3D-позы камеры обычно восстанавливаются с использованием алгоритма настройки связки.
    2. Распознавание изображений: здесь мы больше заинтересованы в распознавании доминирующего контента в данной сцене без необходимости локализовать этот контент. Раньше это делалось с помощью подхода «мешок слов», при котором методы векторного квантования (такие как кластеризация по k-средним значениям) находят словарь функций, а затем для поиска соответствия используется подход tf-idf (частота, обратная частоте текста). изображения в большом масштабе. Это технология, используемая в Google Goggles или при поиске изображений в поисковых системах, таких как поиск картинок Google. Уверен, что есть более продвинутые методы, применяемые на постоянной основе. После прорыва в 2012 году Джеффри Хинтон и его группа по вызову ImageNet взяли на себя функции распознавания образов.
    3. Обнаружение объекта: распознавание изображения + локализация = обнаружение объекта . Это чрезвычайно сложная область CV, которая намного сложнее, чем распознавание изображений. Локализация распознанных объектов не тривиальна, она чрезвычайно сложна. Снова CNN также напали на эту область с помощью алгоритмов, таких как более быстрый регион CNN (более быстрый R-CNN).
    4. Преобразование изображения в изображение: еще одно интересное поле, которое отображает (переводит) одно изображение в другое, в нем используются GAN.

Есть еще много методов ИИ, таких как эволюционные стратегии (ES), которые являются альтернативными методами безградиентной оптимизации для обучения моделям ML. Сфера современного ML выросла с развитием алгоритмов глубокого обучения, что делает ML сегодня очень популярной областью ИИ. Если вам нужно выбрать специальность, ML - отличный выбор. Таким образом, последующее обсуждение предполагает, что вы намереваетесь специализироваться на ML. Поля CV и NLP очень нуждаются в ML.

Теперь цель ИИ - решать интеллект.

Решить интеллект. Используйте это, чтобы сделать мир лучше.

-DeepMind.

Современная тенденция состоит в том, чтобы рассматривать обучение как проблему оптимизации, которая не совсем идеальна, потому что она ограничивается в основном дифференцируемыми мягкими целями, мягким макс, мягким вниманием и так далее. Это само по себе ограничивает продвижение ИИ к его конечной цели. Таким образом, если вы знакомы с теорией оптимизации, ML может быть очень простым для изучения. Это связано с тем, что ML основан на градиентной достойной оптимизации, алгоритмы, такие как стохастический градиентный спуск (SGD), могут показаться сложными, но сам алгоритм является упрощенной версией нормального градиентного спуска из численной оптимизации.

Таким образом, ML в настоящее время не очень интеллектуален, но в настоящее время большинство алгоритмов ML просто основаны на отображении.

F:ИксY type="math/tex" id="MathJax-Element-2">

Отображение ввода Икс type="math/tex" id="MathJax-Element-3">в новое удобное пространство Y type="math/tex" id="MathJax-Element-4">, Там нет правильных рассуждений, таких как изучение фактов из мира и так далее. Это просто оптимизация с помощью в основном подходов к обучению, которые обеспечивают пары обучения ввода-вывода. У нас есть интересные алгоритмы, такие как GAN и обучение с подкреплением (RL), для моделей обучения без присмотра.

С учетом сказанного, чтобы учиться самостоятельно, вам действительно необходимо определиться, потому что есть много вещей, которые нужно читать, понимать и реализовывать, как вы можете видеть выше. Таким образом, методы, которые я использую для изучения, основаны на.

  1. Старт чрезвычайно сложных проектов.
  2. Вывести важные математические понятия в ОД или ИИ.
  3. Внедрить большинство систем с нуля.

Для начала я позаботился о том, чтобы мне было удобно с предпосылками ML:

  1. Математика :
    1. Линейная алгебра: очень важно, потому что матричные операции, такие как умножение матриц, обычно встречаются в ML. Многомерные векторы обычно называют тензорами в ML, тензоры - это то, что передается от слоя к слою в алгоритмах ML. Отсюда и название TensorFlow (библиотека ML от Google Brain) - поток тензоров в вычислительном графе. Таким образом, понимание линейной алгебры очень важно. Также найдите время, чтобы оценить очень мощный алгоритм разложения по сингулярным числам (SVD).
    2. Вероятность и статистика. Вероятностный вывод имеет жизненно важное значение для принятия решений во многих системах, и решения должны приниматься в большинстве систем ОД. У нас есть функции материально-технического обеспечения и softmax для вычисления вероятностей, чтобы было проще определить, присутствует ли конкретный класс или нет.
    3. Calculus: Learn this maths field because derivatives are important for optimization of differentiable objective functions, which is the bread and butter of current ML algorithms today. Thus make sure to be extremely familiar with multivariable differential calculus.
    4. Numerical optimization: Yes this is the basis of current ML itself, ML is based on optimization of some objective called the loss or cost function that measures how well the ML system performs. The idea is to make small steps down the steepest slope on the error surface (defined by the objective) in order to minimize the loss. Understanding the numerical optimization field means understanding most of ML algorithms.
  2. Programming:
    1. Python: With many ML libraries available for Python and with its easy to learn syntax, Python is the go to language of choice for beginners. It is also extremely powerful for experts as well.
    2. Java: You can also use Java in ML implementations.
    3. C/C++: Very efficient for developing novel approaches from ground-up. If you code from ground-up you will learn a great deal about AI and ML field. But don"t always code from ground-up, only do so when necessary.

I also personally read a lot and I mean a lot, every single day either on Quora or else where. I also watch a lot of presentation, lecture or tutorial videos on YouTube from Google Tech Talk, Google research, MIT, Facebook, Microsoft and many more. I also read a lot of journals, yes I understand journals from top notch sources such as DeepMind, FAIR, BAIR, Baidu, Microsoft research, OpenAI, Google and many more.

So you ask

Can you teach yourself artificial intelligence?

Of course, but it is a lot of hard work and very few can manage. But if I managed so can you. You need to make sure you have the passion and tenacity to read lots of materials online concerning AI. There are several high quality sources out there, a simple Google search can bring up such sources to learn from.

Сегодня в Интернете достаточно информации, чтобы выучить что-либо на уровне PhD и за его пределами, поверьте мне, это выполнимо.

Надеюсь это поможет.

| |



Онлайн-курс
«Машинное обучение для людей»
Один из самых трендовых курсов в сфере Цифровой экономики.