А не подскажет ли кто-нибудь, какова в среднем трудоёмкость алгоритма распознавания чего-либо с помощью нейронной сети? Например, если мы распознаём объекты на полноцветном растре. Зависит она от количества слоёв в сети? Как?
Здравствуйте, Аноним, Вы писали:
А>Привет!
Привет, тезка!
А>А не подскажет ли кто-нибудь, какова в среднем трудоёмкость алгоритма распознавания чего-либо с помощью нейронной сети? Например, если мы распознаём объекты на полноцветном растре. Зависит она от количества слоёв в сети? Как?
Обученная нейронная сеть обратного распространения при распознавании одного образа каждый нейрон запускает один раз за сравнение. При этом каждый нейрон обшаривает все приходящие (или исходящие) связи... Итого N*E*C1+N*C2, где N — нейронов, E-среднее число связей, C1 — время на расчет нейрона, C2 — время на обсчет связей.
И на обратном пути чуть побольше, если сеть продолжает обучаться (другие C1 и C2).
Пусть один нейрон считается за 500 тактов пня 500-го, тогда их может обработаться 1e6 в секунду. Если 20 кадров/сек, то ты смело можешь поставить 50000 нейронов.
Или я тебя неправильно понял?
А вообще, лучше мерить трудоемкость алгоритма в ваттах на один нейрон.
Комп твой потребляет как минимум 50 ватт.
Если нейронов миллион в секунду, то получаем 5e-4 Вт/нейрон, при миллионе нейронов, и 1e-3 Вт/нейрон при 50000 нейронах и 20 герцах.
У человека пусть 1e10 нейронов, мощность мозга — 10 Вт. Итого 1e-9 Вт/нейрон. А кадров явно больше 20...
А вы тут "компьютеры образы распознавать будут..."
Здравствуйте, Аноним, Вы писали:
А>Привет!
А>А не подскажет ли кто-нибудь, какова в среднем трудоёмкость алгоритма распознавания чего-либо с помощью нейронной сети? Например, если мы распознаём объекты на полноцветном растре. Зависит она от количества слоёв в сети? Как?
А>Спасибо! А>Юрий
Проблема в не в том, что бы с помощью нейронной сети распознавать образы, можно сформировать сеть с достаточно большим количеством нейронов для решения такой задачи.Настоящая проблема возникнет на этапе "обучения" такой большой сети, а без обучения, извините, никакого Вам распознавания.
Re[2]: нейронные сети: трудоёмкость
От:
Аноним
Дата:
26.05.03 23:04
Оценка:
Здравствуйте, BUran, Вы писали:
BU>Обученная нейронная сеть обратного распространения при распознавании одного образа каждый нейрон запускает один раз за сравнение. При этом каждый нейрон обшаривает все приходящие (или исходящие) связи... Итого N*E*C1+N*C2, где N — нейронов, E-среднее число связей, C1 — время на расчет нейрона, C2 — время на обсчет связей.
BU>И на обратном пути чуть побольше, если сеть продолжает обучаться (другие C1 и C2).
То есть, насколько я понимаю, трудоёмкость можно считать порядка O(N^2), N — число нейронов, поскольку N*E*C1 при наличии полного графа связей, то есть для наихудшего случая, превратится в N*(N-1)*C1 , а это уже почти квадрат и есть. Или я не прав?
Юрий.
Re[2]: нейронные сети: трудоёмкость
От:
Аноним
Дата:
26.05.03 23:09
Оценка:
Здравствуйте, Всеволод, Вы писали:
В>Проблема в не в том, что бы с помощью нейронной сети распознавать образы, можно сформировать сеть с достаточно большим количеством нейронов для решения такой задачи.Настоящая проблема возникнет на этапе "обучения" такой большой сети, а без обучения, извините, никакого Вам распознавания.
Да, действительно, полностью согласен, что с обучением дело будет обстоять туго, однако меня интересует именно трудоёмкость алгоритма для наихудшего случая. Однако уже в силу того, что обучить сеть а моём случае не представляется возможным (заранее совершенно ничего неизвестно о том, какие объекты могут появиться на растрах), нейронные сети можно отбросить.
Здравствуйте, Юрий, Вы писали:
А>Здравствуйте, BUran, Вы писали:
BU>>Обученная нейронная сеть обратного распространения при распознавании одного образа каждый нейрон запускает один раз за сравнение. При этом каждый нейрон обшаривает все приходящие (или исходящие) связи... Итого N*E*C1+N*C2, где N — нейронов, E-среднее число связей, C1 — время на расчет нейрона, C2 — время на обсчет связей.
BU>>И на обратном пути чуть побольше, если сеть продолжает обучаться (другие C1 и C2).
А>То есть, насколько я понимаю, трудоёмкость можно считать порядка O(N^2), N — число нейронов, поскольку N*E*C1 при наличии полного графа связей, то есть для наихудшего случая, превратится в N*(N-1)*C1 , а это уже почти квадрат и есть. Или я не прав?
Прав. Обычно даже маленько по-другому. Связываются обычно все нейроны следующего слоя с нейронами предыдущего. Если слоев M, и они все одинаковые, то результат получится в M раз меньше. В общем, я думаю, ты уяснил, что я хочу сказать.
P.S. Я считаю, что данные мысли представляют только чисто теоретический интерес. Если ты хочешь делать реальное распознавание образов — об этом и спроси, поизучай методы, а не кидайся на первый попавшийся. Возможно, тебя привлекут 1) другие нейросетевые алгоритмы 2) алгоритмы, основанные на правилах 3) семантический вероятностный вывод (у меня такая тема научной работы сейчас) 4) ещё что-нибудь
Здравствуйте, Всеволод, Вы писали:
В>Проблема в не в том, что бы с помощью нейронной сети распознавать образы, можно >сформировать сеть с достаточно большим количеством нейронов для решения такой задачи.
ИМХО, это самая настоящая проблема. Количество неронов не даст эффекта, если модель выбрана не верно (попробуйте на многослойном перцептроне сделать МНОГО слоев)
>Настоящая проблема возникнет на этапе "обучения" такой большой сети, а без обучения, >извините, никакого Вам распознавания.
Зависит от задачи, формулировки которой я собственно не видел
... << RSDN@Home 1.0 beta 7a >>
Re[4]: нейронные сети: трудоёмкость
От:
Аноним
Дата:
30.05.03 17:20
Оценка:
Здравствуйте, BUran, Вы писали:
BU>Прав. Обычно даже маленько по-другому. Связываются обычно все нейроны следующего слоя с нейронами предыдущего. Если слоев M, и они все одинаковые, то результат получится в M раз меньше. В общем, я думаю, ты уяснил, что я хочу сказать. BU>P.S. Я считаю, что данные мысли представляют только чисто теоретический интерес. Если ты хочешь делать реальное распознавание образов — об этом и спроси, поизучай методы, а не кидайся на первый попавшийся. Возможно, тебя привлекут 1) другие нейросетевые алгоритмы 2) алгоритмы, основанные на правилах 3) семантический вероятностный вывод (у меня такая тема научной работы сейчас) 4) ещё что-нибудь
Мне именно теоретический расчёт трудоёмкости и нужен.
И, между прочим, тоже для научной работы
Делаю обзор методов и алгоритмов.