Что такое нейронная сеть?
От: Sorc17 Россия  
Дата: 17.04.12 19:27
Оценка:
Вижу тут темку про нейронные сети, но она какая-то дохлая, так что лучше создать ещё одну. Тем более что моя совсем не о том.

Зашел у нас с товарищами спор о том, что такое нейронные сети. Сейчас поясню. Лично я в них не разбираюсь (слышал звон, читал статьи, книжки по диагонали и википедию), и мне почему-то всегда казалось, что нейронная сеть — это просто хитроумный алгоритм, который работает всё на той же старой доброй машине Тьюринга и принципиально нового ничего не даёт. А другие говорят, что это новый метод вычисления, отличный от машины Тьринга и что то, что не вычислимо на машине Тьюрига, может быть вычислимо с помощью нейронных сетей. У меня разрыв шаблона от таких утверждений. Я думаю, если бы это было и правда так, если бы создали что-то, что позволяет решать задачи так, что проблему об остановке машины Тьюрига можно было бы обойти, это было бы первой новостью во всех газетах и величайшим достижением человечества Кто из нас прав?

inb4 все все не правы
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re: Что такое нейронная сеть?
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 17.04.12 22:37
Оценка: +1
Нейронная сеть эквивалентна машине тьюринга (т.к. на МТ можно построить эмулятор НС, а на НС можно построить эмулятор МТ).

НС приписывают "мистические" способности из-за того, что НС может выполнять действия, которые не закладывались в нее напрямую "программистом". Но такими способностями обладает большое кол-во алгоритмов (а не только НС), в частности, любые алгоритмы которые перестраивают свою управляющую логику на основе обратной связи.
Re: Что такое нейронная сеть?
От: jazzer Россия Skype: enerjazzer
Дата: 18.04.12 02:00
Оценка: 4 (1)
Здравствуйте, Sorc17, Вы писали:

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


S>Зашел у нас с товарищами спор о том, что такое нейронные сети. Сейчас поясню. Лично я в них не разбираюсь (слышал звон, читал статьи, книжки по диагонали и википедию), и мне почему-то всегда казалось, что нейронная сеть — это просто хитроумный алгоритм, который работает всё на той же старой доброй машине Тьюринга и принципиально нового ничего не даёт.


Дает. Нейросеть отличается от обычного алгоритма тем, что ты пишешь алшоритм под задачу по шагам, и каждый шаг ведет к цели, и ты можешь объяснить, что как и почему.
А нейросеть ты программируешь, чтоб получилась нейросеть, а какую задачу она будет решать — зависит от ее топологии и того, как ты ее натренировал, и объяснить, почему в результате тренировки коэффициенты распределились определенным образом — задача нетривиальная, и в этом ее отличие от других самообучающихся алгоритмов, в которых у тебя есть имеющие смысл "фичи" и обучение заключается в выяснении коэффициентов для этих "фич", но при этом "фичи" имеют смысл в рамках задачи, в то время как у нейросети это просто параметры нейронов.

S>А другие говорят, что это новый метод вычисления, отличный от машины Тьринга и что то, что не вычислимо на машине Тьюрига может быть вычислимо с помощью нейронных сетей.

Ну, сэмулировать нейросеть на МТ не проблема, вообще-то.

S>У меня разрыв шаблона от таких утверждений. Я думаю, если бы это было и правда так, если бы создали что-то, что позволяет решать задачи так, что проблему об остановке машины Тьюрига можно было бы обойти, это было бы первой новостью во всех газетах и величайшим достижением человечества Кто из нас прав?


Так у нейросети в приципе этой проблемы не существует, она однопроходная
Это просто хитрый способ посчитать функцию с неизвестными заранее коэффициентами, которые выясняются в процессе тренировки.
У функции сложения же нет никакой проблемы останова, правильно? Ну вот и у нейросети нет.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Что такое нейронная сеть?
От: batu Украина  
Дата: 18.04.12 04:05
Оценка:
Здравствуйте, DarkGray, Вы писали:


DG>Нейронная сеть эквивалентна машине тьюринга (т.к. на МТ можно построить эмулятор НС, а на НС можно построить эмулятор МТ).


Вот насчет того что на НС можно построить эмулятор МТ сомневаюсь.
Re: Что такое нейронная сеть?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.04.12 04:15
Оценка:
Здравствуйте, Sorc17, Вы писали:

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


S>Зашел у нас с товарищами спор о том, что такое нейронные сети. Сейчас поясню. Лично я в них не разбираюсь (слышал звон, читал статьи, книжки по диагонали и википедию), и мне почему-то всегда казалось, что нейронная сеть — это просто хитроумный алгоритм, который работает всё на той же старой доброй машине Тьюринга и принципиально нового ничего не даёт. А другие говорят, что это новый метод вычисления, отличный от машины Тьринга и что то, что не вычислимо на машине Тьюрига, может быть вычислимо с помощью нейронных сетей. У меня разрыв шаблона от таких утверждений. Я думаю, если бы это было и правда так, если бы создали что-то, что позволяет решать задачи так, что проблему об остановке машины Тьюрига можно было бы обойти, это было бы первой новостью во всех газетах и величайшим достижением человечества Кто из нас прав?


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

Есть более сложные ИНС. Но к нейронам они имеют еще меньшее отношение чем перцептроны, просто математический аппарат похож.

ИНС, как и некоторые другие алгоритмы, позволяют искать решение задачи если алгоритм решения неизвестен. При известном алгоритме обычно результат ИНС оказывает гораздо хуже.
Re: Что такое нейронная сеть?
От: LaptevVV Россия  
Дата: 18.04.12 04:21
Оценка:
Нейронная сеть — это функция многих переменных.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Что такое нейронная сеть?
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.04.12 05:07
Оценка:
DG>>Нейронная сеть эквивалентна машине тьюринга (т.к. на МТ можно построить эмулятор НС, а на НС можно построить эмулятор МТ).

B>Вот насчет того что на НС можно построить эмулятор МТ сомневаюсь.


Если строить полный вариант МТ с поддержкой бесконечных алгоритмов, то, конечно, тогда необходимо к НС добавить бесконечный цикл:
или внешний — тогда на НС эмулируется один (или несколько) шаг МТ,
или внутренний — тогда выход последнего слоя подается, как часть входа первого слоя (или какие-то другие аналогичные конфигурации), а окончательным результатом работы НС считается выход НС в момент, когда выход перестает меняться.
Re[4]: Что такое нейронная сеть?
От: batu Украина  
Дата: 18.04.12 05:37
Оценка:
Здравствуйте, DarkGray, Вы писали:


DG>>>Нейронная сеть эквивалентна машине тьюринга (т.к. на МТ можно построить эмулятор НС, а на НС можно построить эмулятор МТ).


B>>Вот насчет того что на НС можно построить эмулятор МТ сомневаюсь.


DG>Если строить полный вариант МТ с поддержкой бесконечных алгоритмов, то, конечно, тогда необходимо к НС добавить бесконечный цикл:

DG> или внешний — тогда на НС эмулируется один (или несколько) шаг МТ,
DG> или внутренний — тогда выход последнего слоя подается, как часть входа первого слоя (или какие-то другие аналогичные конфигурации), а окончательным результатом работы НС считается выход НС в момент, когда выход перестает меняться.
В смысле если рассматривать НС как шаг МТ? Все равно не получится. Команды Go to нет.
Re[3]: Что такое нейронная сеть?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 18.04.12 05:42
Оценка:
Здравствуйте, batu, Вы писали:

B>Вот насчет того что на НС можно построить эмулятор МТ сомневаюсь.


Это не то, что обычно имеется в виду под ИНС, но двуслойные клеточные нейронные сети полны по Тьюрингу. В них могут быть и бесконечные циклы.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Что такое нейронная сеть?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 18.04.12 05:46
Оценка: +3
Здравствуйте, LaptevVV, Вы писали:

LVV>Нейронная сеть — это функция многих переменных.


Не все функции вычислимы на машине Тьюринга. Более того, почти все функции невычислимы.
Ce n'est que pour vous dire ce que je vous dis.
Re[5]: Что такое нейронная сеть?
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.04.12 06:13
Оценка:
B>Все равно не получится. Команды Go to нет.

goto всегда можно при необходимости эмулировать через изменение индекса и выборку по индексу
Re[4]: Что такое нейронная сеть?
От: batu Украина  
Дата: 18.04.12 06:17
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, batu, Вы писали:


B>>Вот насчет того что на НС можно построить эмулятор МТ сомневаюсь.


DR>Это не то, что обычно имеется в виду под ИНС, но двуслойные клеточные нейронные сети полны по Тьюрингу. В них могут быть и бесконечные циклы.

Прочитаю, конечно.. Сейчас занят. Я вот заметил что когда здесь говорят о эквивалентности МТ аргументируют наличием циклов. Вообще говоря необходимо команда условного перехода (ну, кроме присвоения и прибавления 1). Цикл уже конструируется из них. И по большому счету без разницы.. Но налицо разница в курсах обучения. Просто любопытно. Мне режет..
Re[2]: Что такое нейронная сеть?
От: Sorc17 Россия  
Дата: 18.04.12 06:26
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>Нейронная сеть эквивалентна машине тьюринга (т.к. на МТ можно построить эмулятор НС, а на НС можно построить эмулятор МТ).


DG>НС приписывают "мистические" способности из-за того, что НС может выполнять действия, которые не закладывались в нее напрямую "программистом". Но такими способностями обладает большое кол-во алгоритмов (а не только НС), в частности, любые алгоритмы которые перестраивают свою управляющую логику на основе обратной связи.


Спасибо, я тоже накопал, что они эквивалентны. Накопал как там логические операции можно делать и что можно реализовать и другие операции, необходимые для машины Тьюринга.

Значит всё же я был почти прав Что не может не радовать.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[5]: Что такое нейронная сеть?
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.04.12 06:41
Оценка:
B>Вообще говоря необходимо команда условного перехода (ну, кроме присвоения и прибавления 1). Цикл уже конструируется из них.

вообще, необходимо:
1. ветвление
2. бесконечный цикл (часто подразумевается неявно)
3. увеличение/уменьшение на 1
4. операции с памятью
5. операции ввода/вывода


зы
В процессоре нет как таковой команды условного перехода.

есть регистр, который отвечает за индекс ячейки содержащей следующую команду.
есть автоматическое увеличение этого регистра
есть команды, который меняют значение этого регистра
есть бесконечный цикл (процессор постоянно пытается выбрать следующую команду и ее выполнить)
Re[5]: Что такое нейронная сеть?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 18.04.12 06:51
Оценка:
Здравствуйте, batu, Вы писали:

B>Прочитаю, конечно.. Сейчас занят. Я вот заметил что когда здесь говорят о эквивалентности МТ аргументируют наличием циклов. Вообще говоря необходимо команда условного перехода (ну, кроме присвоения и прибавления 1). Цикл уже конструируется из них. И по большому счету без разницы.. Но налицо разница в курсах обучения. Просто любопытно. Мне режет..


Клеточные нейронные сети рекуррентны, то есть они не останавливаются, а приходят в стабильное состояние, если приходят. Есть несколько доказательств их полноты; одно из них эмулирует game of life, на которой, как известно, можно воспроизвести МТ.
Ce n'est que pour vous dire ce que je vous dis.
Re[6]: Что такое нейронная сеть?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.04.12 08:17
Оценка:
Здравствуйте, DarkGray, Вы писали:

B>>Вообще говоря необходимо команда условного перехода (ну, кроме присвоения и прибавления 1). Цикл уже конструируется из них.


DG>вообще, необходимо:

DG>1. ветвление
DG>2. бесконечный цикл (часто подразумевается неявно)
DG>3. увеличение/уменьшение на 1
DG>4. операции с памятью
DG>5. операции ввода/вывода

1) Сравнение с 0
2) Безусловный и условный (по результатам сравнения с 0) переход
3) Операция увеличения на единицу

Этого достаточно для тьюринг полноты.

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


DG>зы

DG>В процессоре нет как таковой команды условного перехода.
Это как? jz\jnz тогда что?

DG>есть регистр, который отвечает за индекс ячейки содержащей следующую команду.

DG>есть автоматическое увеличение этого регистра
DG>есть команды, который меняют значение этого регистра
DG>есть бесконечный цикл (процессор постоянно пытается выбрать следующую команду и ее выполнить)

Ты с одного уровня абстракции на другой прыгаешь. "команды, который меняют значение этого регистра" (имеется ввиду регистр адреса следующей команды) и есть команды перехода. Так как процессор выполняет все подряд, то нужна команда, которая в зависимости от операндов и состояния вычислителя будет менять или не менять значение регистра следующей команды.
Re[3]: Что такое нейронная сеть?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.04.12 08:18
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, LaptevVV, Вы писали:


LVV>>Нейронная сеть — это функция многих переменных.


DR>Не все функции вычислимы на машине Тьюринга. Более того, почти все функции невычислимы.


Приведи пример чтоли.
Re[3]: Что такое нейронная сеть?
От: Sorc17 Россия  
Дата: 18.04.12 08:27
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, LaptevVV, Вы писали:


LVV>>Нейронная сеть — это функция многих переменных.


DR>Не все функции вычислимы на машине Тьюринга. Более того, почти все функции невычислимы.


Не, есть задачи, для решения которых не существует алгоритма. Вроде даже есть раздел математики, который ими занимается.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[5]: Что такое нейронная сеть?
От: os24ever
Дата: 18.04.12 08:42
Оценка:
B>Вообще говоря необходимо команда условного перехода (ну, кроме присвоения и прибавления 1). Цикл уже конструируется из них.

Необязательно. Можно обойтись стеком адресов возврата и командой "снять адрес с вершины стека не двигая её" — и вот он, цикл.
Re[4]: Что такое нейронная сеть?
От: kl Германия http://stardog.com
Дата: 18.04.12 08:51
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

DR>>Не все функции вычислимы на машине Тьюринга. Более того, почти все функции невычислимы.


G>Приведи пример чтоли.


Пример чего? Невычислимой по Тьюрингу функции? Да любая функция, которая принимает на вход инстанс неразрешимой decision problem и выдает результат (да/нет). Ну или классический пример — функция вычисления Kolmogorov complexity.

Что касается второй части утверждения Don Reba, то это вполне очевидно: число всех возможных МТ счетно (множество МТ отображается на множество натуральных чисел), в то время как множество функций на вещественных числах, разумеется, несчетно. Отсюда вывод: почти все функции невычислимы. Аналогично: почти все вещественные числа невычислимы и т.д.
no fate but what we make
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.