Другие языки программирования и технологии

Какой язык программирования выбрать?

Очень интересна тема о нейронных сетях и машинное обучение, на каком языке обычно это пишут? В программировании знания минимальные, учила веб (html,css,php,js), но из-за отсутствия интереса далеко не продвинулась. (отсутствуют интерес именно к веб-программированию и вертске, а не в принципе к программированию:)). C,C++,C#,Python,Java? Что посоветуете учить?
Это зависит от ваших целей.

Если цель - делать нейросети только для себя, то подходит язык Python.
В Питоне вам нужно будет изучить фреймворк Keras. Это высокоуровневая библиотека Питона, которая позволяет очень быстро собирать нейросети любой конструкции и архитектуры как конструктор Лего.
Keras базируется на более низкоуровневых питоновских библиотеках TensorFlow (в Windows может работать только на 64-битных системах) и Theano (в Windows работает и с 32-разрядными системами, но требуется установить компилятор g++). Если вы работаете с Keras, то FensorFlow и Theano можно не изучать, но какую-нибудь из этих библиотек нужно установить для работы с Keras.
FensorFlow и Theano могут работать и сами по себе без Keras, но они гораздо труднее в изучении, код на них получается длиннее и, соответственно, нейросети строятся на них труднее и дольше.
Сами FensorFlow и Theano, в свою очередь, базируются на еще более низкоуровневой питоновской библиотеке NumPy для работы с матрицами. Вот её в сочетании с Keras нужно знать обязательно, так как вывод результатов и ввод данных (и их предварительная обработка) идет с помощью NumPy.

Если цель - делать нейросети для их использования другими людьми, то для создания программ кроме Python нужно обязательно знать C++ или C#, чтобы переписывать прототипы программ, которые вы будете первоначально писать на Питоне. В этом случае изучение TensorFlow будет уже обязательным, так как TensorFlow имеет "обертку" на C++. На C# "обертки" нет, но если знаете С++, то переделать код на С# будет проще всего.
Александр Галай
Александр Галай
9 288
Лучший ответ
MathLab Deep Learning Toolbox (ранее Neural Network Toolbox)
AD
Alexandr Denisov
71 050
TensorFlow и Python
питон, лисп
Программирование нейросети это как космос. Невозможно его освоить не научившись строить космические корабли. Невозможно её запрограммировать не понимая целей и принципов работы. В сети множество автоматов выдаётся за нейросеть. Начать лучше с готовой нейросети и готовых алгоритмов её обучения.
TensorFlow на начальном этапе, чтобы понимать где сейчас "струя" пользовательского применения виртуальных нейросетей.
Далее язык высокого уровня С++, чтобы формировать свою виртуальную нейросеть и интерфейс её обучения. Чтобы не быть ограниченным существующими решениями.
Далее Verilog - язык низкого уровня. Чтобы аппаратно ускорить работу нейросети. Т. к. на ЭВМ она выполняется крайне долго и последовательно. А на ПЛИС быстро и параллельно.
Олег Xxx
Олег Xxx
9 578