Очень просто — нужно оценивать по одинаковым задачам.
Мозг потребляет примерно 20-30 ватт, если мне память не изменяет. При этом мозг обрабатывает аудио и видеоинформацию с точность недоступною сегодня компьютерам.
Число дробилки — это не функция мозга, по ним сравнивать бессмысленно. Опять же тут всё уповают на то что китайские нейросети лица ищут. Так это чистая числодробилка. Опять же можно сделать картинку похожую на лицо и нейросеть скажет что это лицо. А человек нет — потому как опознает в этом например умело выложенный натюрморт из фруктов. Потому как нейросети жёстко запрограммированы на алгоритм — глаза, рот. А человеческий мозг гораздо глубже видит, плюс набор образов гораздо богаче. Потому как мозг имел дело не только с лицами.
Кроме как лиц такая китайская нейросеть ничего больше не распознает. Эффект вроде называется — феномен забывания (хотя это и не феномен потому как понятно почему, но не понятно как сделать что бы незабывала). Если обученную нейросеть начать обучивать другому — то прошлый опыт начисто забывается.
Поставь другую задачу — например определять походку людей — так это вообще работать не будет.
И опять же такие компьютерные стойки потребляют киловатты.
Скорее всего запасные связи на случай травмы мозга, поражения инфекцией. Нейроны не знают точно куда прокладывать связь и логично это делать с запасом.
Имеется ввиду аксоны и дендриты. Белое вещество мозга. Грубо говоря это провода которыми соединяются нейроны друг с другом. Кстати вы правы — эти провода изначально растут как корни дерева. Во все стороны и хаотично соединяются друг с другом. Но в процсесе жизни уже настраиваются и пересоеденяются. Однако одновременно с этим процесс роста имеет жёсткую структуру и программу. Миллионы лет эволюции сумели соединить в одном месте (мозге) эти два противоположных процесса.
Так вот имеется ввиду количество этих проводов — соединений. Их триллионы. Современные самые крутые процессоры обладают только несколько миллиардами транзисторов. А транзистор сам по себе только кирпичик для постройки тех же элементарных логических ячеек. А аксон и дендрит уже законченый логический механизм.
Отсюда видно насколько ещё техническое отставание процессоров от мозга.
Да неправильно написал — помнил что там в пределах сотни герц и написал среднее.
Кстати по ссылки как раз и говорится что затылочный кластер, который как раз и отвечает за зрение — нервы от глаз идут к затылку, работает на частоте альфа-ритма. И у слепых с рождения этого ритма нету.
Я просто люблю читать науч-поп про мозг и постоянно (как впрочем и любой разумный человек) складываю для себя картину мира.
Относительно недавно читал про исследования мозга, где как раз и исследовали эти ритмы. Отдельные кластеры нейронов прям пульсировали с этими ритмами.
Это как раз укладывается в логику. Ведь если представить кучу соединённых нейронов то в них есть входы и выходы. Импульсы поступившие на входы, рано или поздно дойдут до выходов и собственно там угаснут.
Как бы так работают компьютерные нейросетки. Например по распознаванию картинок. Подали на вход данные. На выходе получили результат, например букву. Если сетка текст например разгадывает. Далее ожидание новых данных. В промежутках сетка как бы мертва — нету импульсов.
Но мы то постоянно себя ощущаем. Мы можем находится в абсолютной сенсорной депривации и при этому думать.
Поэтому нейроны постоянно получают подстёгивающие импульсы для постоянной работы. Тактовый генератор мозга.
И да я знаю что реальный мозг имеет закольцованные сети. Но простая закольцованность приведёт к саморазрушающейся активности. Поэтому и есть такие тактовые генераторы в виде альфа и прочих ритмов.
Кстати при эпилепсии — мозг напоминает как раз такой взбунтовавшийся генератор. Это похоже на то как если бы микрофон поднесли к динамику — каждый мог услышать дикий писк. И если бы не было ограничения мощности и полосы пропускания усилителя, мощность и частота бы возрастал до бесконечности.
Заметил что часто статьи по одинаковым темам выходят одновременно. Читаю статью соседнюю сегодня. И какой же замечательный коментарий оставил товарищ SergeKh. Приведу его здесь:
В действительности биологические нейроны еще более «цифровые» чем компьютерные. В компьютере функция возбуждения, которая передается от нейрона к нейрону «аналоговая» — это действительное число. А в биологической системе возбуждение от нейрона к нейрону передается импульсами, «единичками», амплитуда которых не имеет значения, а значение имеет их частота. Причем реальные различия в работе системы происходят с одного-трех импульсов. Можно грубо сказать, что живые нейроны передают друг-другу одно из чисел «0», «1», «2», «3» (причем чаще всего именно 0), а компьютерные нейроны в самом примитивном виде — google TPU передают от 0 до 255, а другие железяки, не гугловские — они еще больше вариантов значений гоняют между нейронами.
По количеству тоже нет, в живых системах как правило гораздо больше связей между нейронами чем транзисторов в компьютерах (для каждой связи своя функция активации, хотя большинство функций активации равны 0, они видимо все-таки важны все). В чем живые системы превосходят железо — это в энергоэффективности, причем очень сильно.
Если отбрость всю шелуху статьи то можно выделить 2 утверждения
Мозг это не компьютер
Мозг настолько сложен что ваще....
По поводу 1 утверждения — я вообще не пойму почему в таких статьях пишут что учёные прям с удивлением понимают что мозг это не компьютер. Неужели учёные настолько тупы? Или тупы авторы этих статей?
Вот кто пишет эти статьи хоть понимает как на самом простом уровне работает компьютер? Сердце любого компьютера это АЛУ. Которое делает за 1 такт одну операцию, сложение, вычитание и подобное. А сама работа компьютера это последовательное выполнение программы. По построчно. Складываем. Вычитаем. Умножаем. Всё последовательно. К тактам не придирайтесь — кто то за такт и 2 операции делает, а кто то наоборот медленнее. Не суть. Принцип один.
Так вот и как это похоже на мозг? Ведь как устроен мозг мы тоже неплохо уже знаем. Миллиарды одновременно работающих нейронов. И главное тут ОДНОВРЕМЕННО. В мозгу есть кластеры нейронов — грубо говоря не все нейроны соединены со всеми. Также в мозгу есть альфа-бета и подобные ритмы. Т.е. эти кластеры пульсируют с частотой этих ритмов.
И получаем с одной стороны — процессор которые за единицу времени выполняет 1 операцию — ну или 64 в 64 ядерном. С другой стороны миллиарды операций за единицу времени по количеству нейронов.
Единственное преимущество процессоров это их частота. Гигагерцы против 60 герц альфа ритмов или около того. Поэтому процессор может как бы увеличить количество операций за единицу времени. Но как показывает практика — ресурсов не хватает.
Что касается второго вопроса — мол сложность мозга запредельная, чуть ли не квантовая механика. Я думаю что тут можно привести пример с автомобилем. ДВС — сложная штука. А процессы в камере сгорания на квантовом уровне сложны до бесконечности. Но для работы ДВС главное знать — вспышка расширяется. Толкает КШМ — двигатель работает. Так и с мозгом. Нейрон выполняет простую функцию. Принимает сигналы на синапсы и отправляет сигнал дальше при срабатывании. Этого достаточно. Конечно химия в крови влияет на внутренности нейрона — он же клетка. Но это влияние только на то при каких уровнях на синапсах нейрон сработает.
Вся сложность не в нейронах — а в белом веществе. В триллионах связях этих нейронов. Именно эти связи образуют архитектуру мозга.
И да, последние исследования показали что нейрон хранит в себе память на уровне ДНК. Т.к. именно в ДНК записывается информация уровня срабатывания нейрона. Т.е. ДНК это внутренний SSD.
Опять 25. Что в Haskell нету понятий if,for,var(или аналогичных)? Или там не работает булева алгебра?
Повторяю для непонятливых — новичку надо иметь минимум понятий для того как вообще «программирование» работает. Придёт он в тот же Haskell. И имея этот минимум уже будет знать что где то должен быть главный вход в программу. Где он уже может как минимум 2+2 сложить и посмотрев в документацию вывести результат, например в консоль. А далее уже будет искать как реализовать то что он собственно от программы хочет.
Мы говорим про разные вещи. Тот же LINQ до недавнего времени и не было в С#. Но программеры в microsoft на очередной своей планёрке, где решали что им на этой недели затрекать в сою «jiru» — пришли к выводу — а давайте возьмём что то распространённое и добавим в синтаксис языка. О SQL! Разумеется что это стёб. Но в каждой шутке ест доля «шутки.»
Так вот про разное. Вы говорите что новичку надо со старта окунутся в все эти парадигмы, SOLID и прочее. Тот же упомянутый вами полиморфизм. И как часто вы его используете в реальных проектах? Неудевлюсь что 0 раз.
Я же утверждаю что в этом случае сбегут если не все — то останутся единицы. Нужно начинать с минимально работающего проекта — пофиг как написанного.
И до многих понятий — тот же полиморфизм, или даже до тех же классов — надо дорасти. Понять потребность что текущих инструментов тебе уже не хватает и взять новое — и увидеть что это как раз то что тебе надо.
В тех же winforms вообще можно с классами дело не иметь. Пиши себе обработчики для кнопок и можно делать вполне себе простенькие программы.
Главная опасность которую я вижу при изучении языков ООП — это на старте нарваться на учебники в которых тебе начинают объяснять как «стул» превратить в «стол».
Вывих мозга новичку гарантирован — и только со временем если сразу не убежит, поймёт что это чушь собачья — такое объяснение.
И да методы — те же функции. Поля — те же переменные. А классы — лишь абстракция — способ организовать виртуальные контейнеры, для разработчика, для тех же функций. И на стороне ниже, где выполняется программа от этих классов не остаётся ничего.
Вас так задевает высказывание «if,for,var»? Или вы подумали что этим я говорю что всё знаю? Да я дохрена чего не знаю. И собственно не собираюсь всё знать — не за это деньги платят. И да — новички могут путать изучение языка и изучение платформы, технологии. Так вот чисто язык это единицы процентов от платформ (разумеется это приблизительно). И это не секрет. И полное знание этих платформ со всеми нюансами, думаю нет таких людей. Знание чисто языка — как бы никому не нужно.
P.S. Когда был популярен Lisp — я ещё не родился. Мнения своего по поводу «if,for,var» не поменял. Я думаю что достаточно пояснил что я под этим имею ввиду. Продолжать диалог не собираюсь — т.к. он превращается в срач.
В любом языке, даже в С, можно найти библиотеки, без слёз на которые не взглянешь.
В С# начинают с банального winforme. Там даже программировать на старте не надо. Кинул в визуальном редакторе на форму буттон. Кликнул 2 раза — тебе код обработчика уже автоматом сгенерирован. Далее написал внутри MessageBox.Show(«Hello word»); — и вот ты уже ощущаешь себя великим программистом.
Ведь главное на старте показать что легко! А не отпугнуть и вызвать фобию что программирование это не твоё.
Вы так с лёгкостью ставите диагнозы незнакомым людям? Как часто вы слышали грубость в ответ?
И да по поводу «утёнка»
Лет 15 изначально я варился в embedit разработке. Начинал с кучи ассемблеров и С. Работал с кучей контроллеров. Могу разработать практически любое железное устройство. Приходилось работать с ПЛИС и с их языками.
Потом перешёл уже на софт. И там уже лет 15. И Delphi (когда он был популярен) даже TurboPascal с обычным Бейсиком был.
Ну и современные тенденции. Go, C# и прочаее. WEB — и фронт и бек. И мобильные приложения — ну кроме разве Яблока.
SQL и базы данных — написал тонны хранимок причём для разных типов SQL.
Поэтому когда я говорю что все языки похоже — знаю о чём говорю. Грубо говоря всё состоит из if,for,var. Главное понять этот принцип — а дальше уже ничего сложного.
Сложность изучения языков это не сложность изучения как ими пользоваться. Вся сложность в новых технологиях это изучение библиотек. Ну и старт — просто понять как запустить первую прогу. Например когда я писал под андроид первое приложение — приложение написал за 5 минут. А потом час не мог понять почему оно не запускается на телефоне. Как оказалось — каждое приложение должно было иметь подпись.
Боюсь даже представить, зачем вы это делаете. В голову упорно лезет «в этом шапито что-то делают неправильно»
А мне в голову лезет только ваша некомпетентность. Вы вообще знаете что приложения core dot.net могут работать как под винду так и под Linux? Так вот пишете вы приложение. Пишете под виндой. У вас всё работает. Причём даже под Linux. Отправляете заказчику. У него не работает. Как проверить? Да очень просто. Заказчик запускает приложение на своей машине. Вы подключаетесь к нему удалённо и тупо его отлаживаете. При этом нету никаких танцев с бубнами — просто подключился и как будто приложение у себя на машине отлаживаешь.
Это мега удобно по сравнению с традиционными способами складывать трассировку в лог и потом как то этот лог выдирать с удалённого устройства или программы. А потом ещё и не найти причину бага.
Я например подключаюсь через SSH к процессу dot.net к машине под Linux которая находится на другом конце земли, при этом сижу под фортачками и отлаживаю в Visual c точками остановками и прочими прелестями. Я не знаю какая ещё технология обладает столь глубокими возможностями по отладке.
По поводу флагов компиляции это вы с С++ наверно спутали. Хотя может вы компилите через консоль — но новичку это точно не надо.
Что может быть легче. Любой другой язык как по мне принесёт больше геморроя.
И да одно дело искать ошибку в чужом проекте — где пока в мозг не загрузишь архитектуру проекта, никакие знания языка не помогут. И другое дело писать helloword-ы
А на какой язык или технологию? Если всё равно — рекомендую С#. Самый простой язык и технология. Самоучителей вагон. Первый hello word пишется за 5 минут.
Когда более менее освоите — то потом увидите что абсолютно все языки похожи друг на друга. Потому как выполняются на одном процессоре и подчиняются одной булевой алгебре.
Стоит один изучить — считай все изучил. Изучение нового языка — только синтаксис новый изучить.
Upd. Дабы не быть голословным приведу первую ссылку из гугла по запросу «C# самоучитель» metanit.com/sharp/tutorial — выполнять пару занятий в день или больше, человек у которого есть хоть чуть чуть аналитического склада ума, сможет с 0 изучить язык.
Вообще не пойму как могли расцвести подобные сайты. Хотя понимаю — люди которые по определению не могут стать программистами ищут золотую пулю. Но всегда с одинаковым результатом.
На ВСЁ есть тонны бесплатных самоучителей в первых ссылках гугла.
Слушал некоторые книги которые писали программисты — и честно сказать, с точки зрения литературы все они провальны. По таким книгам сразу видно что писал «программист» — и это вовсе не преимущество, а скорее наоборот. Это моё мнение. У самого есть идеи о худ. литературе. И исходя что сам программист, стараюсь сделать для себя выводы — как не надо писать книги программисту.
Вот моя рецензия на книгу «Ник» на одном из сайтов:
Я программист. Пишу программы от встраиваемых систем, до web и мобильных приложений. Короче для всего. Почитав отзывы — подумал вот книга должна быть для меня. И знаете что? В первый раз, а прослушал я сотни книг, я вдруг заметил что начал зевать.
Так книги не пишутся. От программиста ожидаешь логики в сюжете — а не пересказ объектно ориентированного программирования. В котором автор и сам не особо разбирается походу — потому как это лишь абстракция. Для начинающих программистов когда в учебниках начинают разглагольствовать про то как стул превратить в стол — это только ещё больше их запутать. Слоем ниже, где реально выполняется программа, от этих абстракций не остаётся ничего. И тут как сову на глобус начинают натягивать эти абстракции на реальный мир.
Короче, к книге. Что бы она была интересна — там должны быть загадки. Постоянно. А автор просто без загадок, как help какой то нам просто сообщает на старте что к чему. ГГ — не картонный, а КАРТОННЫЙ. Он попал в полную жопу — но у него ни эмоций, не переживаний, ни нервных срывов — как робот. Выполняет программу.
Само повествование — очень поверхностное. Если бы автор хоть раз в жизни ушёл в поход в лес хотя бы на 2 дня — он бы понял о чём бы в первую очередь думал бы его ГГ. Да от тех же ботинках — пройдя день по лесу — неподготовленный сдохнет. А через неделю от ботинок останутся ошмётки.
Хоть автор и пытался продумать поверхностную логику — всё же проскакивают нелогичности. Убил копьём косулю. Ага. Да косуля бы просто убежала бы с эти копьём в боку.
Прослушал 2.5 часа. И тут начались гномы, эльфы… Дальше слушать уже не хочу.
Кстати, дополню. Современные программы написанные на языках высокого уровня — это не программа которая выполняется на процессоре. Это формальное описание программы с точки зрения человека. Своеобразное «ТЗ».
А дальше получив такое «ТЗ» — компиляторы уже преобразуют в программу, которую понимает процессор.
Так что отчасти — «ИИ» уже заменили программистов (современные компиляторы обладают некоторой гибкостью по построению конечного кода).
Ведь когда то — программы писались даже не на ассемблере — который также надо компилировать. А писались сразу в машинных кодах.
Если появится ИИ который сможет писать программы то в принципе исчезнут все профессии. Собственно сам человек станет не нужен. Потому что ИИ и будет заменой человеку.
Поясняю мысль. Что такое программирование? В общих чертах это создание программы которая будет работать в соответствии с заданными функциями. Вот тут и кроется весь сыр бор.
Есть такой мем «Без ТЗ результат ХЗ». Собственно вокруг ТЗ и идёт бесконечная война. Чем чётче ТЗ — тем больше оно становится похоже на конечную программу.
Отсюда получаем что программирование это не «написание программы» что бы это не значило. Программирование это составление ТЗ. И вот это ТЗ мы пытаемся получить у другого человека, либо сами себе придумываем.
И получается что мы вступаем на стезю человеческого общения — восприятие мира, образов, абстракций — всё то что присуще человеческому сознанию.
Выходит, что что бы писать программы — надо «человеческое сознание». А получив такой сильный ИИ — получаем полную замену человеку. Во всех сферах.
Вот один 100% миф который я встречаю почти в 99% обсуждений. Звучит он всегда по разному. Но общий смысл такой: мол до создания ИИ подобного человеческому нам ещё 100500 лет.
Так вот почему я считаю это мифом. Потому как это обычно пишут люди которые никогда не задумывались а как информационные потоки распределяются в собственной голове. Для них это из области философии и религии. Подобно мифической душе.
Но если начать самому себе задавать вопросы — что же ты видишь каждую секунду. Как генерируются собственные мысли. Как ты себя ощущаешь и как действуешь в моменты когда вообще не думаешь. Например что то делаешь на автомате. То сверхъестественное заменяется вполне себе понятными алгоритмами.
Думаю тут всё намного проще. Есть такое мнение — если вы что то изобрели, погуглите и вы обнаружите что кто то уже это сделал. Проще говоря — потенциал мира таков, что все «хорошие» идеи уже давно сделаны. Поэтому всё новое — это по определению уходит в категорию плохих идей.
а потому что интеллекта там чуть больше чем у пчелы, значительно меньше, чем у лягушки
Если давать конкретные определения понятиям то часто может оказаться что нет никаких споров. По каким критериям вы определяете интеллект? Вот вы присвоили условной лягушки интеллект выше чем у условной яндексовской Алисы. По каким критериям? По возможности вести разговорную осмысленную речь как у человека? По возможности отвечать на вопросы, т.е. иметь энциклопедические знания, как у человека? Скорее все го нет. Могу предположить что по возможности выживать в болоте. Ну там комаров ловить. Квакать громко. Собственно это всё можно реализовать в роботе. Который и комаров истребит гораздо эффективнее и квакать громче будет.
Насчёт «превзошли» — повторюсь, это вы хватили очень круто.
Я имел ввиду свёрточные сети и их способность искать объекты. Уже делали эксперименты что такие сети например ищут котов на больших изображениях быстрее и чётче чем человек. Опять же ваш пример про китайцев — миллионы лиц в режиме 24/365 Ни один человек на такое не способен. Когда для ИИ создадут алгоритмы «думанья», а мне как программисту это видится как манипуляция с данными и их связями, то он это будет делать соответственно быстрее чем человек.
Но когда вы покажете ему десять таких ёжиков — и всё, уже достаточно.
Вы почему то думаете что для свёрточных сетей нужно обучение. Нужны миллионы показов. Нет. Им достаточно одного кадра. Они грубо говоря выделяют контуры объекта. На выходе получается, вроде числa. Это конечно всё упрощённо, потому как каждая реализация будет иметь свои особенности которые вкладывает разработчик. Вот пометить это число как объект ёжик, вот и всё обучение. И когда на выходе будет число или близкое к числу, то мы можем сказать что ИИ видит ёжика. Или же если этот код уходит далее в модули обработки данных, то можно получить робота с ИИ который будет ходить, видеть, ну и думать.
Собственно алгоритмы этих сетей тоже не совершенны. Появятся новые, более совершенные алгоритмы.
Очень просто — нужно оценивать по одинаковым задачам.
Мозг потребляет примерно 20-30 ватт, если мне память не изменяет. При этом мозг обрабатывает аудио и видеоинформацию с точность недоступною сегодня компьютерам.
Число дробилки — это не функция мозга, по ним сравнивать бессмысленно. Опять же тут всё уповают на то что китайские нейросети лица ищут. Так это чистая числодробилка. Опять же можно сделать картинку похожую на лицо и нейросеть скажет что это лицо. А человек нет — потому как опознает в этом например умело выложенный натюрморт из фруктов. Потому как нейросети жёстко запрограммированы на алгоритм — глаза, рот. А человеческий мозг гораздо глубже видит, плюс набор образов гораздо богаче. Потому как мозг имел дело не только с лицами.
Кроме как лиц такая китайская нейросеть ничего больше не распознает. Эффект вроде называется — феномен забывания (хотя это и не феномен потому как понятно почему, но не понятно как сделать что бы незабывала). Если обученную нейросеть начать обучивать другому — то прошлый опыт начисто забывается.
Поставь другую задачу — например определять походку людей — так это вообще работать не будет.
И опять же такие компьютерные стойки потребляют киловатты.
Имеется ввиду аксоны и дендриты. Белое вещество мозга. Грубо говоря это провода которыми соединяются нейроны друг с другом. Кстати вы правы — эти провода изначально растут как корни дерева. Во все стороны и хаотично соединяются друг с другом. Но в процсесе жизни уже настраиваются и пересоеденяются. Однако одновременно с этим процесс роста имеет жёсткую структуру и программу. Миллионы лет эволюции сумели соединить в одном месте (мозге) эти два противоположных процесса.
Так вот имеется ввиду количество этих проводов — соединений. Их триллионы. Современные самые крутые процессоры обладают только несколько миллиардами транзисторов. А транзистор сам по себе только кирпичик для постройки тех же элементарных логических ячеек. А аксон и дендрит уже законченый логический механизм.
Отсюда видно насколько ещё техническое отставание процессоров от мозга.
Кстати по ссылки как раз и говорится что затылочный кластер, который как раз и отвечает за зрение — нервы от глаз идут к затылку, работает на частоте альфа-ритма. И у слепых с рождения этого ритма нету.
Я просто люблю читать науч-поп про мозг и постоянно (как впрочем и любой разумный человек) складываю для себя картину мира.
Относительно недавно читал про исследования мозга, где как раз и исследовали эти ритмы. Отдельные кластеры нейронов прям пульсировали с этими ритмами.
Это как раз укладывается в логику. Ведь если представить кучу соединённых нейронов то в них есть входы и выходы. Импульсы поступившие на входы, рано или поздно дойдут до выходов и собственно там угаснут.
Как бы так работают компьютерные нейросетки. Например по распознаванию картинок. Подали на вход данные. На выходе получили результат, например букву. Если сетка текст например разгадывает. Далее ожидание новых данных. В промежутках сетка как бы мертва — нету импульсов.
Но мы то постоянно себя ощущаем. Мы можем находится в абсолютной сенсорной депривации и при этому думать.
Поэтому нейроны постоянно получают подстёгивающие импульсы для постоянной работы. Тактовый генератор мозга.
И да я знаю что реальный мозг имеет закольцованные сети. Но простая закольцованность приведёт к саморазрушающейся активности. Поэтому и есть такие тактовые генераторы в виде альфа и прочих ритмов.
Кстати при эпилепсии — мозг напоминает как раз такой взбунтовавшийся генератор. Это похоже на то как если бы микрофон поднесли к динамику — каждый мог услышать дикий писк. И если бы не было ограничения мощности и полосы пропускания усилителя, мощность и частота бы возрастал до бесконечности.
Как я уже говорил — это всё ИМХО.
По поводу 1 утверждения — я вообще не пойму почему в таких статьях пишут что учёные прям с удивлением понимают что мозг это не компьютер. Неужели учёные настолько тупы? Или тупы авторы этих статей?
Вот кто пишет эти статьи хоть понимает как на самом простом уровне работает компьютер? Сердце любого компьютера это АЛУ. Которое делает за 1 такт одну операцию, сложение, вычитание и подобное. А сама работа компьютера это последовательное выполнение программы. По построчно. Складываем. Вычитаем. Умножаем. Всё последовательно. К тактам не придирайтесь — кто то за такт и 2 операции делает, а кто то наоборот медленнее. Не суть. Принцип один.
Так вот и как это похоже на мозг? Ведь как устроен мозг мы тоже неплохо уже знаем. Миллиарды одновременно работающих нейронов. И главное тут ОДНОВРЕМЕННО. В мозгу есть кластеры нейронов — грубо говоря не все нейроны соединены со всеми. Также в мозгу есть альфа-бета и подобные ритмы. Т.е. эти кластеры пульсируют с частотой этих ритмов.
И получаем с одной стороны — процессор которые за единицу времени выполняет 1 операцию — ну или 64 в 64 ядерном. С другой стороны миллиарды операций за единицу времени по количеству нейронов.
Единственное преимущество процессоров это их частота. Гигагерцы против 60 герц альфа ритмов или около того. Поэтому процессор может как бы увеличить количество операций за единицу времени. Но как показывает практика — ресурсов не хватает.
Что касается второго вопроса — мол сложность мозга запредельная, чуть ли не квантовая механика. Я думаю что тут можно привести пример с автомобилем. ДВС — сложная штука. А процессы в камере сгорания на квантовом уровне сложны до бесконечности. Но для работы ДВС главное знать — вспышка расширяется. Толкает КШМ — двигатель работает. Так и с мозгом. Нейрон выполняет простую функцию. Принимает сигналы на синапсы и отправляет сигнал дальше при срабатывании. Этого достаточно. Конечно химия в крови влияет на внутренности нейрона — он же клетка. Но это влияние только на то при каких уровнях на синапсах нейрон сработает.
Вся сложность не в нейронах — а в белом веществе. В триллионах связях этих нейронов. Именно эти связи образуют архитектуру мозга.
И да, последние исследования показали что нейрон хранит в себе память на уровне ДНК. Т.к. именно в ДНК записывается информация уровня срабатывания нейрона. Т.е. ДНК это внутренний SSD.
Всё вышесказанное разумеется ИМХО.
Повторяю для непонятливых — новичку надо иметь минимум понятий для того как вообще «программирование» работает. Придёт он в тот же Haskell. И имея этот минимум уже будет знать что где то должен быть главный вход в программу. Где он уже может как минимум 2+2 сложить и посмотрев в документацию вывести результат, например в консоль. А далее уже будет искать как реализовать то что он собственно от программы хочет.
Так вот про разное. Вы говорите что новичку надо со старта окунутся в все эти парадигмы, SOLID и прочее. Тот же упомянутый вами полиморфизм. И как часто вы его используете в реальных проектах? Неудевлюсь что 0 раз.
Я же утверждаю что в этом случае сбегут если не все — то останутся единицы. Нужно начинать с минимально работающего проекта — пофиг как написанного.
И до многих понятий — тот же полиморфизм, или даже до тех же классов — надо дорасти. Понять потребность что текущих инструментов тебе уже не хватает и взять новое — и увидеть что это как раз то что тебе надо.
В тех же winforms вообще можно с классами дело не иметь. Пиши себе обработчики для кнопок и можно делать вполне себе простенькие программы.
Вывих мозга новичку гарантирован — и только со временем если сразу не убежит, поймёт что это чушь собачья — такое объяснение.
И да методы — те же функции. Поля — те же переменные. А классы — лишь абстракция — способ организовать виртуальные контейнеры, для разработчика, для тех же функций. И на стороне ниже, где выполняется программа от этих классов не остаётся ничего.
P.S. Когда был популярен Lisp — я ещё не родился. Мнения своего по поводу «if,for,var» не поменял. Я думаю что достаточно пояснил что я под этим имею ввиду. Продолжать диалог не собираюсь — т.к. он превращается в срач.
В любом языке, даже в С, можно найти библиотеки, без слёз на которые не взглянешь.
В С# начинают с банального winforme. Там даже программировать на старте не надо. Кинул в визуальном редакторе на форму буттон. Кликнул 2 раза — тебе код обработчика уже автоматом сгенерирован. Далее написал внутри MessageBox.Show(«Hello word»); — и вот ты уже ощущаешь себя великим программистом.
Ведь главное на старте показать что легко! А не отпугнуть и вызвать фобию что программирование это не твоё.
И да по поводу «утёнка»
Лет 15 изначально я варился в embedit разработке. Начинал с кучи ассемблеров и С. Работал с кучей контроллеров. Могу разработать практически любое железное устройство. Приходилось работать с ПЛИС и с их языками.
Потом перешёл уже на софт. И там уже лет 15. И Delphi (когда он был популярен) даже TurboPascal с обычным Бейсиком был.
Ну и современные тенденции. Go, C# и прочаее. WEB — и фронт и бек. И мобильные приложения — ну кроме разве Яблока.
SQL и базы данных — написал тонны хранимок причём для разных типов SQL.
Поэтому когда я говорю что все языки похоже — знаю о чём говорю. Грубо говоря всё состоит из if,for,var. Главное понять этот принцип — а дальше уже ничего сложного.
Сложность изучения языков это не сложность изучения как ими пользоваться. Вся сложность в новых технологиях это изучение библиотек. Ну и старт — просто понять как запустить первую прогу. Например когда я писал под андроид первое приложение — приложение написал за 5 минут. А потом час не мог понять почему оно не запускается на телефоне. Как оказалось — каждое приложение должно было иметь подпись.
А мне в голову лезет только ваша некомпетентность. Вы вообще знаете что приложения core dot.net могут работать как под винду так и под Linux? Так вот пишете вы приложение. Пишете под виндой. У вас всё работает. Причём даже под Linux. Отправляете заказчику. У него не работает. Как проверить? Да очень просто. Заказчик запускает приложение на своей машине. Вы подключаетесь к нему удалённо и тупо его отлаживаете. При этом нету никаких танцев с бубнами — просто подключился и как будто приложение у себя на машине отлаживаешь.
Это мега удобно по сравнению с традиционными способами складывать трассировку в лог и потом как то этот лог выдирать с удалённого устройства или программы. А потом ещё и не найти причину бага.
Управляемый язык.
Лучшая среда разработки.
Да тонны преимуществ.
Я например подключаюсь через SSH к процессу dot.net к машине под Linux которая находится на другом конце земли, при этом сижу под фортачками и отлаживаю в Visual c точками остановками и прочими прелестями. Я не знаю какая ещё технология обладает столь глубокими возможностями по отладке.
По поводу флагов компиляции это вы с С++ наверно спутали. Хотя может вы компилите через консоль — но новичку это точно не надо.
Что может быть легче. Любой другой язык как по мне принесёт больше геморроя.
И да одно дело искать ошибку в чужом проекте — где пока в мозг не загрузишь архитектуру проекта, никакие знания языка не помогут. И другое дело писать helloword-ы
Когда более менее освоите — то потом увидите что абсолютно все языки похожи друг на друга. Потому как выполняются на одном процессоре и подчиняются одной булевой алгебре.
Стоит один изучить — считай все изучил. Изучение нового языка — только синтаксис новый изучить.
Upd. Дабы не быть голословным приведу первую ссылку из гугла по запросу «C# самоучитель» metanit.com/sharp/tutorial — выполнять пару занятий в день или больше, человек у которого есть хоть чуть чуть аналитического склада ума, сможет с 0 изучить язык.
На ВСЁ есть тонны бесплатных самоучителей в первых ссылках гугла.
И в таком случае получается проект изначально не реализуем.
Вот моя рецензия на книгу «Ник» на одном из сайтов:
А дальше получив такое «ТЗ» — компиляторы уже преобразуют в программу, которую понимает процессор.
Так что отчасти — «ИИ» уже заменили программистов (современные компиляторы обладают некоторой гибкостью по построению конечного кода).
Ведь когда то — программы писались даже не на ассемблере — который также надо компилировать. А писались сразу в машинных кодах.
Поясняю мысль. Что такое программирование? В общих чертах это создание программы которая будет работать в соответствии с заданными функциями. Вот тут и кроется весь сыр бор.
Есть такой мем «Без ТЗ результат ХЗ». Собственно вокруг ТЗ и идёт бесконечная война. Чем чётче ТЗ — тем больше оно становится похоже на конечную программу.
Отсюда получаем что программирование это не «написание программы» что бы это не значило. Программирование это составление ТЗ. И вот это ТЗ мы пытаемся получить у другого человека, либо сами себе придумываем.
И получается что мы вступаем на стезю человеческого общения — восприятие мира, образов, абстракций — всё то что присуще человеческому сознанию.
Выходит, что что бы писать программы — надо «человеческое сознание». А получив такой сильный ИИ — получаем полную замену человеку. Во всех сферах.
Вот один 100% миф который я встречаю почти в 99% обсуждений. Звучит он всегда по разному. Но общий смысл такой: мол до создания ИИ подобного человеческому нам ещё 100500 лет.
Так вот почему я считаю это мифом. Потому как это обычно пишут люди которые никогда не задумывались а как информационные потоки распределяются в собственной голове. Для них это из области философии и религии. Подобно мифической душе.
Но если начать самому себе задавать вопросы — что же ты видишь каждую секунду. Как генерируются собственные мысли. Как ты себя ощущаешь и как действуешь в моменты когда вообще не думаешь. Например что то делаешь на автомате. То сверхъестественное заменяется вполне себе понятными алгоритмами.
Если давать конкретные определения понятиям то часто может оказаться что нет никаких споров. По каким критериям вы определяете интеллект? Вот вы присвоили условной лягушки интеллект выше чем у условной яндексовской Алисы. По каким критериям? По возможности вести разговорную осмысленную речь как у человека? По возможности отвечать на вопросы, т.е. иметь энциклопедические знания, как у человека? Скорее все го нет. Могу предположить что по возможности выживать в болоте. Ну там комаров ловить. Квакать громко. Собственно это всё можно реализовать в роботе. Который и комаров истребит гораздо эффективнее и квакать громче будет.
Я имел ввиду свёрточные сети и их способность искать объекты. Уже делали эксперименты что такие сети например ищут котов на больших изображениях быстрее и чётче чем человек. Опять же ваш пример про китайцев — миллионы лиц в режиме 24/365 Ни один человек на такое не способен. Когда для ИИ создадут алгоритмы «думанья», а мне как программисту это видится как манипуляция с данными и их связями, то он это будет делать соответственно быстрее чем человек.
Вы почему то думаете что для свёрточных сетей нужно обучение. Нужны миллионы показов. Нет. Им достаточно одного кадра. Они грубо говоря выделяют контуры объекта. На выходе получается, вроде числa. Это конечно всё упрощённо, потому как каждая реализация будет иметь свои особенности которые вкладывает разработчик. Вот пометить это число как объект ёжик, вот и всё обучение. И когда на выходе будет число или близкое к числу, то мы можем сказать что ИИ видит ёжика. Или же если этот код уходит далее в модули обработки данных, то можно получить робота с ИИ который будет ходить, видеть, ну и думать.
Собственно алгоритмы этих сетей тоже не совершенны. Появятся новые, более совершенные алгоритмы.