LINUX.ORG.RU

Посоветуйте, что почитать / посмотреть по нейросеткам

 deeplearning4j, image recognition, , ,


4

2

А конкретнее - хочу понять, как распознавать изображения и «понимать», что на них есть.

Я в этом полный никто, поэтому хочется что-то без заумных высказываний, понять которые можно только имея какой-то багаж знаний в этой области.

И да, хочется без привязки к python и TensorFlow, потому что писать буду, вероятей всего, не на них, а на всеми-не-любимой java и Deeplearning4J.

★★★★★

Последнее исправление: bvn13 (всего исправлений: 1)

Deeplearning4J для базовых вещей может и пойдет, но не более. Посмотри https://course.fast.ai/ — одно из самых практичных введений. В курсе используется одноименная либа, обертка над pytorch от широко известного в узких кругах каггл грандмастера.

ymn ★★★★★
()

что почитать

Хабр. В прошлом-позапрошлом годах, там было много статей по этой теме.
Основная сложность — найти достаточное количество данных для обучения. При этом что изображено на картинках для обучения — должно быть известно.
Нейросети обычно учат понимать наличие одного вида объекта (есть наличие, или нет), или различать 2 разных вида объекта (на картинке объект А, или объект Б).
А так, чтобы понимать, что изображено на картинке, до такого ещё не доросли.

anonymous
()

Для себя я понял что изначально надо их писать просто на живую, никакой матан там нахрен не нужен по началу (потом не знаю вундервафли не трогал) базовый принцип наипростейший, но практически все очень любят накручивать терминологию на пустом месте. Можно для начала что-то самое простое даже в виде видосиков глянуть https://www.youtube.com/watch?v=lDxyGKGVq3s&t=1031s, суметь сделать самоиграющую игру типа https://www.youtube.com/watch?v=dXcIf5YwaUQ , а уже поняв базовый принцип который можно реализовать на самом деле за 15 минут на коленке брать либы которые по сути всё делают за тебя. Это как сначала написать чат на голых сокетах, а уже потом взять curl и написать его на полуавтомате, а потом взять node.js и написать на ещё большем автомате. =) А вот что именно почитать не знаю

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

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

Да, если писать хеллоуворлды, то ничего не надо.

Это как сначала написать чат на голых сокетах, а уже потом взять curl и написать его на полуавтомате, а потом взять node.js и написать на ещё большем автомате.

По такой логике примерно построен cs231n — все на голимом numpy сначала: и backprop, и batch normalization.

ymn ★★★★★
()
Ответ на: комментарий от ymn

Да, если писать хеллоуворлды, то ничего не надо.

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

По такой логике примерно построен cs231n

Ну вот =)

Deleted
()
Ответ на: комментарий от logicoop1

Вы могли бы и не писать очевидную чушь. А именно - я посмотрел, когда была написана эта статья. Оказалось, что в 1969 году. Это извиняет Марвина, но не вас.

Partisan ★★★★
()

java

Это хорошо, но питон тоже нужен. Не столько для самих нейросеток, сколько как инструмент для быстрого написания разных скриптов, например, по приведению датасета в нужный тебе вид или парсинга чего-либо, иногда графики надо нарисовать. Некоторые R вместо этого юзают, но мне больше нравится python, т.к. он более универсален.

Ну и можешь потыкать во всякие дедукторы и прочее российское образовательно-начальное, чтобы понимать что-то и примерно иметь представление о том что надо получить, прежде чем писать нейросетки руками и изобретать что-то своё.

peregrine ★★★★★
()
Ответ на: комментарий от anonymous

В теории доросли до автоматической кластеризации, но точность не ахти и данных надо много, как и времени на обучение.

peregrine ★★★★★
()
Ответ на: комментарий от Deleted

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Ссылки для чайников, плиз!

зы. я не отрицаю питона, но хочется именно Java, ибо сейчас моя основная деятельность связана с ней, и хочется развивать умения и знания. но, если выхода не будет, - возьму питон, прикручу микросервисом через какой-нибудь MQ

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

Ну с ссылками всё плохо. Есть хабр, там в наличии простая информация для чайников с небольшой задержкой в 1-3 года, но уже разжеванная, посмотри на хадуп ещё и его доки, spark, на алгоритмы внутри. Всякие разные презентации можешь найти в гугле и яндексе. За продвинутым иди на https://arxiv.org/ в математику и Computer Science. Ну а чтобы понимать что есть в природе полезного тыц, тыц. В последней ссылке в вики есть табличка, где написано «Машинное обучение и data mining». Там есть кнопочка развернуть по разным пунктам. Вот про всё из того что там есть надо знать. Отправной точкой может быть сама википедия. К изучению обязательно https://habr.com/ru/company/iticapital/blog/262155/

PS

Java больше чем питона надо, но нужно что-то для быстрого велосипедирования. Если ты очень хорошо знаешь жабу, то её может и хватит

Есть, конечно, Саймон Хайкин, но это так устарело, что актуальность слабая очень в сравнении с той же википедией.

PPS

Если у тебя много свободного времени можешь пойти учиться куда-то на big data, самую базу и откуда плясать тебе дадут.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 4)
Ответ на: комментарий от peregrine

Саймон Хайкин

Лучше не надо. Есть «Pattern recognition and machine learning» Бишопа и «Deep learning» Гудфеллоу сотоварищи. И этих двух книг вполне хватить чтобы покрыть основные потребности в начале обучения. Дальше уже надо будет шерстить arxiv по выбранной теме.

ymn ★★★★★
()

что почитать

Что читать о нейросетях ©.

Neural Networks: куча ссылок.

«понимать», что на них есть... без заумных высказываний

/0 :)

quickquest ★★★★★
()
Ответ на: комментарий от seiken

Имхо примерно всё. У Гудфеллоу гораздо лучше и современнее изложено. Но я не агитирую, читать надо все подряд, чтобы потом выбрать наиболее подходящее изложение. Лично мне «Deep Learning» зашел лучше всего остального.

Алсо есть достойная книжка и на русском языке «Глубокое обучение» Николенко с соавторами.

ymn ★★★★★
()
Ответ на: комментарий от bvn13

ML это больше эксперименты чем кодинг, поэтому нужен repl, нужны графики одной строкой и т.п., типизация и компиляция только мешают. в языки типа java/c++ обычно готовые модели экспортируют, т.е. там боилерплейт для запуска графа вычислений, но сам граф и тренировку на них дизайнить это просто трата времени..

anonymous
()
Ответ на: комментарий от anonymous

типизация и компиляция только мешают

Я не согласен. Предпочел бы на этапе компиляции увидеть, что где-то в модели в одном из слоев из-за копипасты передается тензор с неправильным шейпом. Жду когда запилят swift for tensorflow. За таким дерьмом будущее, ящетаю.

ymn ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.