Комментарии 20
Не совсем корректное сравнение Earth Simulator помимо вычислительной мощности в 36 TFLOPS включал 10 TB памяти, 700 TB дискового пространства, 1.6 PB на лентах и сеть с пропускной способностью 10 TB/s и это в 2002 году!
Сравнивать стоит с чем-то хоть отдаленно похожим, например с персональным суперкомпьютером NVidia DGX Station
Включает 4X Tesla V100 мощностью 480 TFLOPS с 64 GB GPU и 256 GB DDR4, 1.92 TB SSD и стоимостью $69 000 :)
P.S. на картинке кстати Earth Simulator 2, а Earth Simulator выглядит как-то так
Сравнивать стоит с чем-то хоть отдаленно похожим, например с персональным суперкомпьютером NVidia DGX Station
Включает 4X Tesla V100 мощностью 480 TFLOPS с 64 GB GPU и 256 GB DDR4, 1.92 TB SSD и стоимостью $69 000 :)
P.S. на картинке кстати Earth Simulator 2, а Earth Simulator выглядит как-то так
В статье нет ни слова о копировании человеческого мозга.
Разве операция свертки это не копирование принципов работы мозга?
«копирование мозга» в заголовке воспринимается как клонирование. Лучше написать моделирование, имитация и т.д.
Не разу, кроме того ЕМНИП свёртки и сопутствующий мат аппарат придумали за долго до того как начали извлекать полезные знания из мозга котиков :-) И практически применять эти знания для «машинного зрения» тоже начали за долго до, в СССР даже специальная лампа для этого была, я об этом как-нибудь напишу историю…
Вы правы в том, что вычислительные мощности подогрели интерес к ИНС, но я бы не назвал это развитием, а скорее масштабированием, которое расширяет возможности но не решает принципиальных проблем.
Вы правы в том, что вычислительные мощности подогрели интерес к ИНС, но я бы не назвал это развитием, а скорее масштабированием, которое расширяет возможности но не решает принципиальных проблем.
НЛО прилетело и опубликовало эту надпись здесь
"Поняв, как работают мозги котов" ох, если бы все было так просто...
ничего сложного, нейронная сеть залезла в коробку
Да-да, конечно. А потом она взяла и научилась ходить, мяукать, вылизываться, метить территорию, бояться веника, ловить мышей и приносить их котятам, сидеть в засаде, переворачиваться при падении, узнавать хозяев, ластиться, бояться воды, плавать, орать по ночам, ссать в ботинки обидчикам и т.п. И все это без обучения — с первого раза. По мне так слишком много для сети, пусть и самой мощной.
Как по мне, так половина из того, что Вы назвали — врождённое.
А что значит врожденное? Как оно работает? А почему человек не может бегать на третьей неделе со своим мегамозгом а котам даже родителей видеть не нужно? Тут вопросов гораздо больше чем у науки есть ответов, а теории о нейросетях, уж извините, не объясняют вообще ничего.
Ну то есть проявляться-то инстинкты могут по-разному (тюнинг — приобретённое), но сами акценты в развитии навыков (орать, бегать, прыгать, метить, ловить — надо; рыть нору, летать и строить карту звёздного неба — не надо), а во многих случаях даже частично и сами способы проявления — захарокожены (причём в некоторых случаях вполне себе с hardware'ными костылями).
То, что теории о нейросетях что-то объясняют, я и не говорил (а, ну да, вот теперь мне стал понятнее посыл Вашего исходного сообщения).
Про человека — отдельная тема. Во-первых, у человека, AFAIK, гораздо меньше захардкожено (по крайней мере, тех навыков, которые полезны в современной жизни; возможно, держаться за мамину шерсть, бегать на четвереньках и бояться змей как раз закардкожено — да вот толку; а вот у котов даже частично ходьба захардкожена). Во-вторых, человек, возможно, дольше достигает относительной зрелости (то есть, допустим, даже если предположить, что ходьба на двух ногах в нас захардкожена — что не так — то кости, мышцы и вестибюлярный аппарат готовы к этому далеко не сразу; ну и коты, собственно, тоже не с первого дня ходят, глаза даже не сразу открываются).
То, что теории о нейросетях что-то объясняют, я и не говорил (а, ну да, вот теперь мне стал понятнее посыл Вашего исходного сообщения).
Про человека — отдельная тема. Во-первых, у человека, AFAIK, гораздо меньше захардкожено (по крайней мере, тех навыков, которые полезны в современной жизни; возможно, держаться за мамину шерсть, бегать на четвереньках и бояться змей как раз закардкожено — да вот толку; а вот у котов даже частично ходьба захардкожена). Во-вторых, человек, возможно, дольше достигает относительной зрелости (то есть, допустим, даже если предположить, что ходьба на двух ногах в нас захардкожена — что не так — то кости, мышцы и вестибюлярный аппарат готовы к этому далеко не сразу; ну и коты, собственно, тоже не с первого дня ходят, глаза даже не сразу открываются).
Спасибо, было интересно
НЛО прилетело и опубликовало эту надпись здесь
в настоящее время точность распознавания компьютерного зрения достигает в отдельных случаях >98%, а, как подсчитали ученые, точность распознавания образа человеком составляет в среднем 97%
Да кем себя возомнили эти железки? Часто бывает, что гуглокапча, где нужно распознавать образы, мне не верит, когда я прохожу её правильно, но отмечаю в том числе и те квадраты, где попал лишь небольшой кусочек машины.
Спасибо, как раз начал разбираться с этой темой и уровень понимания примерно на уровне возможности чтения данной статьи. Никак не мог понять, откуда берутся первые фильтры. В статье увидел:
может кто-то пояснить чуть подробнее? Такой Kernel можно собрать универсальный или под каждую задачу собирается свой? Если это базовые примитивы, то зачем им каждый раз обучаться? Или их слишком много, чтобы они подходили под все задачи и под каждую задачу лучше выбрать свое подмножество?
И еще, если такой комплект фильтров получается при обучении, то как достигается, что все они запоминают разные примитивы? Почему не получается, что все фильтры обучились распознавать, условно, только вертикальные линии?
Сначала разработчики пытались сами подобрать Kernel, но вскоре выяснилось, что его можно получить обучением, и это намного эффективнее.
может кто-то пояснить чуть подробнее? Такой Kernel можно собрать универсальный или под каждую задачу собирается свой? Если это базовые примитивы, то зачем им каждый раз обучаться? Или их слишком много, чтобы они подходили под все задачи и под каждую задачу лучше выбрать свое подмножество?
И еще, если такой комплект фильтров получается при обучении, то как достигается, что все они запоминают разные примитивы? Почему не получается, что все фильтры обучились распознавать, условно, только вертикальные линии?
Когда я сделал свою первую сеть на Tensorflow, она была корявой, но на 10 классах изображений я смог добиться 50% точности распознавания (было примерно по 1000 образов на класс). Тогда мне стало интересно визуализировать первый слой фича-экстрактора. Сделал. Там было что-то похожее на шумы. Я задумался, почему же там нет таких красивых картинок как в примерах? Стал искать инфу, оказалось что те примеры и были сгенерены человеком, а при обучении всего лишь немного видоизменяется рандомно инициализированная матрица. Тогда я поставил эксперимент, применив к первому уровню фильтры со второй картинки Kernel в статье. Результат остался примерно таким же. Может только скорость обучения немножечко выросла.
Я сделал для себя вывод:
не стоит пытаться подбирать кернелы, это занимает много моего времени, к тому же их размер очень сильно зависит от размера входа. При размере 28*28 — это матрица 3*3 или 5*5, при 256*256 — лучше работает 7*7. Можно, конечно иметь разные заготовленые размеры, но зачем? На скорость обучения это хоть и влияет, но не так чтоб прям сильно. Да и для каждой задачи лучше подбирать оптимальное количество кернелов. Для MNIST достаточно 16-ти, а то и 8-ми, для сложных образов 32 и выше.
Если не хочется тратить время на это, а хочется взять что-то готовое, то как вариант взять Inception-v3, её фича экстрактор очень даже хорош, и добавить нужных классов без переобучения экстрактора, такой метод называется fine-tuning.
Вот линка на инструкцию:
https://www.tensorflow.org/tutorials/image_retraining
Я сделал для себя вывод:
не стоит пытаться подбирать кернелы, это занимает много моего времени, к тому же их размер очень сильно зависит от размера входа. При размере 28*28 — это матрица 3*3 или 5*5, при 256*256 — лучше работает 7*7. Можно, конечно иметь разные заготовленые размеры, но зачем? На скорость обучения это хоть и влияет, но не так чтоб прям сильно. Да и для каждой задачи лучше подбирать оптимальное количество кернелов. Для MNIST достаточно 16-ти, а то и 8-ми, для сложных образов 32 и выше.
Если не хочется тратить время на это, а хочется взять что-то готовое, то как вариант взять Inception-v3, её фича экстрактор очень даже хорош, и добавить нужных классов без переобучения экстрактора, такой метод называется fine-tuning.
Вот линка на инструкцию:
https://www.tensorflow.org/tutorials/image_retraining
В целом спасибо за статью. Неплохо было бы все-таки написать свое определение операции свертки. А то оно как-то размылось по тексту и выводы, которые читатель делает после прочтения, могут оказаться неверными.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Копируем человеческий мозг: операция «Свертка»