Какво представляват алгоритмите и защо правят хората неудобни?

„Алгоритъм“ е дума, която се хвърля много. Но когато изграждаме разговори около алгоритмите на YouTube или Facebook, за какво всъщност говорим? Какво представляват алгоритмите и защо хората се оплакват толкова много от тях?

Алгоритмите са инструкции за решаване на проблеми

Живеем в свят, в който компютрите се разбират само бегло, въпреки че проникват във всеки момент от живота ни. Но има една област на компютърните науки, където всеки може да разбере основите на случващото се. Тази област на компютърните науки се нарича програмиране.

Програмирането не е бляскава работа, но е основата на целия компютърен софтуер, от Microsoft Office до автоматичните програми. И дори ако познанията ви по програмиране произтичат единствено от лоши филми от 90-те и нестандартни новинарски репортажи, вероятно нямате нужда някой да ви обяснява какво прави програмист. Програмист пише код за компютър и компютърът следва инструкциите на този код, за да изпълнява задачи или решава проблеми.

Е, в света на компютърните науки алгоритъмът е просто фантастична дума за код. Всеки набор от инструкции, който казва на компютъра как да решава проблеми, е алгоритъм, дори ако задачата е супер лесна. Когато включите компютъра си, той следва набор от инструкции „как да включите“. Това е алгоритъм на работа. Когато компютър на НАСА използва необработени данни от радиовълни, за да направи снимка на космоса, това също е алгоритъм на работа.

Думата „алгоритъм“ може да се използва за описание на всеки набор от инструкции, дори извън сферата на изчисленията. Например вашият метод за сортиране на сребърни прибори в чекмедже е алгоритъм, както и методът ви за измиване на ръцете след използване на банята.

  Как да проверите различни часови зони на iPhone и iPad

Но ето нещото: в наши дни думата „алгоритъм“ има тенденция да бъде запазена за някои много специфични технически разговори. Не чувате хора да говорят за алгоритми на „основна математика“ или алгоритми за „инструмент за графити MS Paint“. Вместо това чувате потребители на Instagram да се оплакват от алгоритми за предложения за приятели, или групи за поверителност, които блъскат алгоритмите за събиране на данни на Facebook.

Ако „алгоритъмът“ е общ термин за изчислителни инструкции, тогава защо го използваме почти изключително, за да опишем объркващи, магически и зли аспекти на дигиталния свят?

Повечето хора използват „алгоритми“ и „машинно обучение“ взаимозаменяемо

В миналото програмистите и поп културата наричаха повечето изчислителни инструкции „код“. Това в по-голямата си част остава вярно и днес. Машинното обучение е голямата, облачна област на изчисленията, където сме склонни да използваме думата „алгоритъм“ вместо „код“. Това разбираемо е допринесло за объркването и безпокойството около думата „алгоритъм“.

Машинното обучение съществува от дълго време, но се превърна в голяма част от дигиталния свят едва през последните 15-ина години. Макар че машинното обучение звучи като сложна идея, то е доста лесно за разбиране. Програмистите не могат да пишат и тестват конкретен код за всяка ситуация, така че те пишат код, който може да пише сам.

Мислете за това като за по-практична форма на изкуствен интелект. Ако категоризирате достатъчно имейли на шефа си като спам, вашият имейл клиент ще започне автоматично да прибира всички имейли на шефа ви в папката за спам. По същия начин Google използва машинно обучение, за да гарантира, че резултатите от търсенето в YouTube остават подходящи, а Amazon използва машинно обучение, за да предложи кои продукти трябва да закупите.

  Как да промените настройките за формат по подразбиране на Google Документи

Разбира се, машинното обучение не е всичко хубаво и модно. Името „машинно обучение“ звучи достатъчно страховито, за да накара някои хора да се чувстват неудобно, а някои от популярните употреби на машинно обучение са етично съмнителни. Алгоритмите, които Facebook използва за копаене на данни или потребители в мрежата, са неудобен пример за машинно обучение.

В пресата ще чуете за „алгоритъм на Google“ за класиране на резултатите от търсенето, „алгоритъм на YouTube“ за препоръчване на видеоклипове и „алгоритъм на Facebook“ за решаване кои публикации да виждате във вашата времева линия. Всичко това са предмет на спорове и дебати.

Защо алгоритмите са противоречиви

Дългото деление е познат алгоритъм (сред много други) за деление на числа. Просто се извършва от ученици вместо от компютри. Вашият процесор Intel използва изцяло различен алгоритъм, когато дели числата, но резултатите са еднакви.

Преобразуването на говор в текст обикновено използва машинно обучение, но никой не говори за „алгоритъма“ на говор в текст, защото има обективно правилен отговор, който всеки човек може незабавно да разпознае. Никой не се интересува от това „как“ компютърът разбира какво сте казали или дали е машинно обучение или не. Просто ни интересува дали машината е получила правилния отговор.

Но други приложения на машинното обучение нямат предимството да имат „правилен“ отговор. Ето защо алгоритмите се превърнаха в редовна тема на разговори в медиите.

Алгоритъмът за сортиране на списък по азбучен ред е просто начин за изпълнение на определена задача. Но алгоритъм като този на Google за някак си „класиране на най-добрите уебсайтове за търсене“ или този на YouTube за „препоръчване на най-доброто видео“ е много по-неясен и не изпълнява определена задача. Хората могат да спорят дали този алгоритъм дава резултатите, които трябва, и хората ще имат различни мнения за това. Но с нашия пример за сортиране по азбучен ред всеки може да се съгласи, че списъкът завършва сортиран по азбучен ред, както трябва. Няма спор.

  Как да споделяте музика с някой друг с AirPods

Как трябва да използваме думата „алгоритъм?“

Алгоритмите са в основата на всеки софтуер. Без алгоритми нямаше да имате телефон или компютър и вероятно ще четете тази статия на лист хартия (всъщност нямаше да я четете изобщо).

Но широката публика не използва думата „алгоритъм“ като общ термин за компютърен код. Всъщност повечето хора предполагат, че има разлика между компютърен код и алгоритъм, но няма. Поради асоциацията на думата „алгоритъм“ с машинното обучение, нейното значение е станало мъгливо, но използването му е станало по-специфично.

Трябва ли да започнете да използвате думата „алгоритъм“, за да опишете дори най-тривиалните части от компютърния код? Вероятно не, тъй като не всеки ще разбере какво имаш предвид. Езикът винаги се променя и винаги се променя с основателна причина. Хората се нуждаят от дума, за да опишат объркващия, непрозрачен и понякога съмнителен свят на машинното обучение и „алгоритъм“ се превръща в тази дума – засега.

Като се има предвид това, добре е да се има предвид, че алгоритъмът (и машинното обучение) в основата си е куп код, който е написан за решаване на задачи. Няма магически трик; това е просто по-сложна итерация на софтуера, с който вече сме запознати.

Източници: Шисти, Уикипедия, GeeksforGeeks