@aptypuoh

Теория графов и нейронные сети в распознавании объектов — в чем преимущество графов?

Доброго дня! Получил задание расписать преимущества теории графов перед нейронными сетями в распознавании объектов.
Копаюсь - пока нашел лишь то, что нейронные сети необходимо все время обучать для достижения высокоточных результатов, а так же их работа завязана на мощной технической части, тогда как графы менее ресурсоемкие и лучше подходят для задач малого и среднего размера.
То есть для пункта "привести доказательства" мало что готово, посему прошу помощи - какие ресурсы стоит использовать, статьи, книги, лекции?
Заранее спасибо!
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Я попробую рассказать своё видение проблемы. Я не уверен что я прав но напишу как мне кажется.

Есть две модели представления нейронных сетей.

1) Матрицы (иногда называют тензоры). Имеют аппаратную реализацию в новых TPU (Tensor processor unit). Кажется Гугл сейчас продает услугу аренды таких сетей для задач обучения. Подходят для плотного заполнения нейронных слоём когда нейроны связаны каждый-с-каждым. При этом даже если связи нет (коэффициентик равен 0.0) тем не менее пространство все равно используется и этот ноль участвует в расчете.
Расчет обучения (как я его себе понимаю) должен сводится к перемножению входного векртора на всю полседовательность матриц. И также к применению функции активации между слоями. Имеено за счет функции активации и идет обучение (там есть своя доказательная база) и идет декомпозиция на слои. Если бы функции не было - тогда можно было-бы все слои (константы) схлопнуть в 1 большую матрицу. Вот так и бегает умножение туда-сюда. Обучение - проверка ошибок. Коррекция. И снова обучение.

2) Графы. Это вырожденный вариант матриц когда нулей оооочень много то чтоб зря не меремножать нули можно модель вычислений представить в виде графов. Математически это дает экономию в виде пропуска ненужных вычислений. И должна быть экономия в виде памяти для коэффициентов каждого слоя. На практике представить граф компактно очень сложно. Если кто из вас делал свои графы - то вы знаете что жрут они память как в не в себя, и никогда не угадаешь сколько надо выделить под вершину или под ребро чтоб не было пере-аллокаций и потерь.

Если вы хоть раз открывали учебники по НС типа Каллана или Хайкина то там с первых страниц идет описание
персептрона или 1-слойного нейрона в виде рисунка со стрелочками. Это и есть граф. Таки рисунки любят преподаватели в универах и всякие теоретики.

В старых математических пакетах (еще в 80х годах) есть целые мат-библиотеки которые работают с разреженными матрицами (sparsed matrices). Это - тоже наивные попытки создать экономию. Такая дырявая матрица как раз отражает граф где вершины - это столбцы и строки а рёбра - это ненулевые коэффициенты.
Реализаций их - целая куча. Математики любят решать системы дифуров в таких структурах. Там своя специфика. Тоже есть много нулей. Тоесть между графом и дырявой матрицей есть полиморфизм.

Есть поддержка таких дырявых структур (Vector.sparse) и в биг-дате (Spark). Тоже для нужд ML.

Тоесть если ваш нейрончик дырявый - то он полюбит графы и дырявые матрицы. Если он - плотняк
заполнен коэффициентами - то берите обычные матрицы.

Все что я написал это просто моё чортово ИМХО. И не стоит это воспринимать за правду.
Ответ написан
Griboks
@Griboks
Как только вам предоставят доказательства превосходства графов над нейросетями, вы легко ответите, почему.
В действительности, нейросеть - это и есть большой граф. Поэтому говорить о преимуществах графов над графами некорректно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы