На днях, по мотивам очередной статьи, посвященной проблеме расизма в распознавании речи, я участвовала в большом споре о том, кто в этом виноват. Часть людей была уверена, что это заговор программистов. На самом деле, правда кроется в данных, которые ИИ использует для своего обучения. Я решила провести эксперимент, чтобы наглядно доказать это. Оказалось, что Роб Спир (Rob Speer) уже все сделал за меня.

Хочу поделиться с вами переводом его материала, который наглядно показывает, что даже самый дефолтный вариант ИИ будет насквозь пропитан расизмом. В первой статье мы проведем эксперимент, во второй попытаемся разобраться, как побороть то чудовище, которое мы породили.



Может быть, вы слышали об экспериментальном чат-боте Tay, которого специалисты Microsoft запустили в Twitter. За один только день его записи стали настолько провокационными, что Microsoft пришлось отключить бота и больше никогда не упоминать его имени. Вы, наверное, думаете, что вам такое не грозит, потому что не делаете никаких странных вещей (в частности, не даете всяким бездельникам возможности обучать ваш ИИ на базе Twitter).

В этом руководстве я хочу показать следующее: даже если вы используете самые стандартные алгоритмы обработки естественных языков, популярные наборы данных и методы, то в результате может получиться расистский классификатор, которого не должно существовать в природе.

Хорошая новость: этого можно избежать. Чтобы исключить появление у вашего классификатора расистских замашек, нужно будет приложить немного дополнительных усилий. При этом исправленная версия может оказаться даже точнее. Но чтобы устранить проблему, нужно знать, в чем она заключается, и не хвататься за первый работающий вариант.

Давайте сделаем классификатор тональностей текста!


Анализ тональности — очень распространенная задача NLP, что совсем неудивительно. У системы, которая способна понять, положительный или отрицательный комментарий оставил человек, есть множество применений в бизнесе. Такие решения используются для мониторинга публикаций в социальных сетях, отслеживания отзывов клиентов и даже в торговле ценными бумагами (пример: боты, которые покупали акции компании Berkshire Hathaway, после того как актриса Энн Хэтэуэй получила хорошие отзывы критиков).

Это упрощенный (иногда слишком упрощенный) подход, но это один из самых легких способов получить количественные оценки созданных людьми текстов. Всего за несколько шагов вы можете подготовить систему, которая обрабатывает тексты и выдает положительные и отрицательные оценки. При этом вам не придется иметь дело со сложными форматами представления данных, например с деревьями синтаксического разбора или с диаграммами сущностей.

Сейчас мы составим классификатор, хорошо знакомый любому специалисту NLP. При этом на каждом этапе мы будем выбирать самый простой в реализации вариант. Такая модель, к примеру, описана в статье Deep Averaging Networks. Она не является основным предметом статьи, поэтому не стоит считать это упоминание критикой полученных результатов. Там модель приводится просто в качестве примера широко известного способа использования векторных представлений слов.

Вот наш план действий:

  • Взять где-нибудь широко используемые векторные представления слов.
  • Взять данные для обучения и тестирования, содержащие наиболее стандартные слова позитивной и негативной тональности.
  • Методом градиентного спуска обучить классификатор распознавать другие позитивные и негативные слова.
  • Рассчитать оценки тональности предложений текста с помощью этого классификатора.
  • Ужаснуться монстру, которого мы создали.

После этого вы будете знать, как ненамеренно сделать расистский ИИ.

Такого финала хотелось бы избежать, так что затем мы сделаем следующее:

  • Выполним статистическую оценку проблемы, чтобы уметь распознать ее в будущем.
  • Улучшим данные так, чтобы получить более точную и менее расистскую семантическую модель.

Необходимое программное обеспечение


Это руководство написано на Python, все библиотеки приведены ниже.

import numpy as np
import pandas as pd
import matplotlib
import seaborn
import re
import statsmodels.formula.api

from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

%matplotlib inline
seaborn.set_context('notebook', rc={'figure.figsize': (10, 6)}, font_scale=1.5)

Можно заменить scikit-learn на TensorFlow, Keras или любой другой компонент, который содержит алгоритм градиентного спуска.

Шаг 1. Векторные представления слов


Векторные представления слов часто используются для преобразования слов в формат, который удобно обрабатывать системами машинного обучения. Слова представляются в виде векторов в многомерном пространстве. Чем меньше расстояние между векторами, тем ближе значение соответствующих слов. Векторные представления слов позволяют сравнивать слова не побуквенно, а по (приблизительному) смыслу.

Чтобы получить хорошие векторные представления слов, нужно обработать сотни гигабайт текста. К счастью, многие группы специалистов по машинному обучению уже проделали эту работу и выложили готовые материалы в общий доступ.

Есть два широко известных набора векторных представлений слов: word2vec (в качестве учебного материала для их создания использовались данные из Google News) и GloVe (учебный материал: веб-страницы, переработанные роботом Common Crawl). Конечные результаты будут схожими для обоих наборов. GloVe основан на более прозрачном источнике данных, поэтому мы воспользуемся им.

Для загрузки доступно три архива GloVe: на 6, 42 и 840 млрд записей. 840 миллиардов — это много, но, чтобы извлечь из этого архива больше пользы, чем из 42-миллиардного набора, потребуется сложная постобработка. Версия на 42 миллиарда весьма функциональна и содержит круглое количество слов — 1 миллион. Мы идем по пути наименьшего сопротивления, поэтому воспользуемся версией на 42 миллиарда.

Итак, мы скачиваем архив glove.42B.300d.zip с сайта GloVe и распаковываем файл data/glove.42B.300d.txt. Далее нам нужно создать функцию, которая будет читать векторные представления слов в простом формате.

def load_embeddings(filename):
    """
    Load a DataFrame from the generalized text format used by word2vec, GloVe,
    fastText, and ConceptNet Numberbatch. The main point where they differ is
    whether there is an initial line with the dimensions of the matrix.
    """
    labels = []
    rows = []
    with open(filename, encoding='utf-8') as infile:
        for i, line in enumerate(infile):
            items = line.rstrip().split(' ')
            if len(items) == 2:
                # This is a header row giving the shape of the matrix
                continue
            labels.append(items[0])
            values = np.array([float(x) for x in items[1:]], 'f')
            rows.append(values)
    
    arr = np.vstack(rows)
    return pd.DataFrame(arr, index=labels, dtype='f')

embeddings = load_embeddings('data/glove.42B.300d.txt')
embeddings.shape
#  (1917494, 300)

Шаг 2. Стандартный лексикон тональностей


Нам нужно откуда-то брать информацию о том, какие слова имеют позитивную тональность, а какие — негативную. Существует множество лексиконов тональности, но мы, как обычно, выберем один из самых простых. Скачаем архив с веб-сайта Биня Лю и извлечем файлы лексикона, data/positive-words.txt и data/negative-words.txt.

Далее нам нужно задать способ чтения этих файлов и считать их содержимое в переменные pos_words и neg_words.

def load_lexicon(filename):
    """
    Load a file from Bing Liu's sentiment lexicon
    (https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html), containing
    English words in Latin-1 encoding.
    
    One file contains a list of positive words, and the other contains
    a list of negative words. The files contain comment lines starting
    with ';' and blank lines, which should be skipped.
    """
    lexicon = []
    with open(filename, encoding='latin-1') as infile:
        for line in infile:
            line = line.rstrip()
            if line and not line.startswith(';'):
                lexicon.append(line)
    return lexicon

pos_words = load_lexicon('data/positive-words.txt')
neg_words = load_lexicon('data/negative-words.txt')

Шаг 3. Обучение модели для прогнозирования тональности слов


Некоторые слова отсутствуют в словаре GloVe. Если векторное значение отсутствует, то в результате считывания мы получаем вектор из величин NaN. Удалим такие векторы.

pos_vectors = embeddings.loc[pos_words].dropna()
neg_vectors = embeddings.loc[neg_words].dropna()

Далее составим массивы желаемых входных и выходных данных. Входные данные: векторные значения слов; выходные: значение 1 для положительно окрашенных слов и -1 для отрицательно окрашенных. Также нам нужно сохранять сами слова, чтобы иметь возможность интерпретировать результаты.

vectors = pd.concat([pos_vectors, neg_vectors])
targets = np.array([1 for entry in pos_vectors.index] + [-1 for entry in neg_vectors.index])
labels = list(pos_vectors.index) + list(neg_vectors.index)

Секунду! Но ведь некоторые слова нейтральны, они лишены какой-либо тональности. Разве нам не нужен третий класс для нейтральных слов?


Думаю, примеры нейтральных слов нам бы пригодились, особенно с учетом того, что проблемы, с которыми мы столкнемся, возникают из-за приписывания тональности нейтральным словам. Если бы мы могли надежно выявлять нейтральные слова, то усложнение классификатора (добавление третьего класса) было бы оправдано. Для этого нам потребуется источник примеров нейтральных слов, потому что в выбранном нами наборе представлены только позитивно и негативно окрашенные слова.

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

Как создатели списка разделили слова позитивной и негативной тональности? Разве тональность не зависит от контекста?


Хороший вопрос. Общий анализ тональности текста не такая простая задача, какой кажется. Граница, которую мы пытаемся найти, не всегда однозначна. В списке, который мы выбрали, слово «дерзкий» помечено как плохое, а «амбициозный» — как хорошее. «Комичный» — плохое, «забавный» — хорошее. «Возмещение» — хорошее, хотя ситуации, в которых вы или у вас требуют возмещения, редко бывают приятными.

Думаю, все понимают, что тональность слова зависит от контекста, но если мы реализуем простой подход к анализу тональности, то предполагаем, что усредненные значения тональности слов позволят получить в целом правильный ответ без учета контекста.

Мы разделим входные векторы, выходные значения и метки на наборы учебных и тестовых данных. Для тестирования будем использовать 10 % данных.

train_vectors, test_vectors, train_targets, test_targets, train_labels, test_labels =     train_test_split(vectors, targets, labels, test_size=0.1, random_state=0)

Далее мы составляем классификатор и запускаем для него обучение — 100 итераций обработки учебных векторов. В качестве функции потерь используем логистическую функцию. Так наш классификатор сможет вычислять вероятность того, что заданное слово является позитивно или негативно окрашенным.

model = SGDClassifier(loss='log', random_state=0, n_iter=100)
model.fit(train_vectors, train_targets)

Теперь проверим классификатор на тестовых векторах. Оказывается, он правильно распознает тональность слов вне учебного набора в 95% случаев. Совсем неплохо.

accuracy_score(model.predict(test_vectors), test_targets)
#  0,95022624434389136

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

def vecs_to_sentiment(vecs):
    # predict_log_proba gives the log probability for each class
    predictions = model.predict_log_proba(vecs)

    # To see an overall positive vs. negative classification in one number,
    # we take the log probability of positive sentiment minus the log
    # probability of negative sentiment.
    return predictions[:, 1] - predictions[:, 0]


def words_to_sentiment(words):
    vecs = embeddings.loc[words].dropna()
    log_odds = vecs_to_sentiment(vecs)
    return pd.DataFrame({'sentiment': log_odds}, index=vecs.index)

Шаг 4. Получить оценку тональности текста


Существует множество способов оценить тональность текста на основе величин тональности для векторных представлений отдельных слов. Мы продолжим следовать путем наименьшего сопротивления и просто усредним их.

import re
TOKEN_RE = re.compile(r"\w.*?\b")
# The regex above finds tokens that start with a word-like character (\w), and continues
# matching characters (.+?) until the next word break (\b). It's a relatively simple
# expression that manages to extract something very much like words from text.


def text_to_sentiment(text):
    tokens = [token.casefold() for token in TOKEN_RE.findall(text)]
    sentiments = words_to_sentiment(tokens)
    return sentiments['sentiment'].mean()

Что здесь можно улучшить?

  • Рассчитать для слов весовые коэффициенты, обратно пропорциональные их частоте, чтобы наиболее распространенные слова (например, the или I) не сильно сказывались на оценке тональности.
  • Изменить формулу усреднения так, чтобы не получать для коротких предложений самые большие по модулю оценки тональности.
  • Учитывать контекст, то есть фразы целиком.
  • Воспользоваться более функциональным алгоритмом разбиения предложения на слова, который корректно обрабатывает апострофы.
  • Учитывать отрицания, т. е. правильно обрабатывать такие фразы, как not happy.

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

text_to_sentiment("this example is pretty cool")
#  3.889968926086298
text_to_sentiment("this example is okay")
#  2.7997773492425186
text_to_sentiment("meh, this example sucks")
#  -1.1774475917460698

Шаг 5. Ужаснуться монстру, которого мы создали


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

text_to_sentiment("Let's go get Italian food")
#  2.0429166109408983
text_to_sentiment("Let's go get Chinese food")
#  1.4094033658140972
text_to_sentiment("Let's go get Mexican food")
#  0.38801985560121732

Примерно то же самое встречалось мне и в других экспериментах, которые анализировали отзывы на рестораны с помощью векторных значений слов. Тогда оказалось, что все мексиканские рестораны получают более низкую оценку тональности без какой-либо объективной причины.

Если вы обрабатываете слова с учетом контекста, то векторные значения слов способны отразить тонкие оттенки смысла. А значит, они позволяют обнаружить и более выраженные явления, например общественные предрассудки.

Вот еще несколько нейтральных предложений.

text_to_sentiment("My name is Emily")
#  2.2286179364745311
text_to_sentiment("My name is Heather")
#  1.3976291151079159
text_to_sentiment("My name is Yvette")
#  0.98463802132985556
text_to_sentiment("My name is Shaniqua")
#  -0.47048131775890656

Ну и ну.

Одно только изменение имени сильно меняет оценку тональности, которую выдает система. Этот и множество других примеров показывают, что при использовании имен, которые ассоциируются с белыми людьми, прогнозируемая тональность в среднем более положительная, чем при наличии стереотипных имен для людей с темным цветом кожи.

Итак, убедившись, что даже самая базовая реализация ИИ получается ужасно предвзятой, предлагаю взять небольшую паузу на осмысление. Во второй статье мы вернемся к теме и будем исправлять ошибки несмышленого ИИ.

Комментарии (72)


  1. arandomic
    25.08.2017 11:20
    +1

    Ну, можно догадаться, в каком контексте стояло Mexican в учебных текстах.


    1. Alexeyco
      28.08.2017 06:48
      -1

      В Сербии меня, когда я там был, называли русским. Я просто чувствую, что устареваю, и хочу спросить совета. Мне вот надо было обижаться на это? Или, скажем, начать орать о расизме? Или это только если бы я был негр, тогда я бы обязан был обижаться на все на свете как дурачок?


  1. kx13
    25.08.2017 11:20
    +21

    На самом деле, правда кроется в данных, которые ИИ использует для своего обучения.

    Это очевидно, если немного подумать. Т.к. ИИ учится на базе текстов составленными реальными людьми, и алгоритмы ИИ пытаются повторить физическое строение нервной системы, по сути получается ИИ есть отражение реальных мыслей людей и вообще окружающего мира.


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

    Таким образом проблема в общем-то не в ИИ, а в людях. Тема рассизма и национализма досаточно хорошо сейчас культивируется.


    Хорошая новость: этого можно избежать.

    Вы просто искажаете реальный мир. Получается практически цензура :)
    Ну или некая разновидность ограничений, когда люди говорят не то, что думают. Получается ИИ симулирующий лицемерие :)


    1. seokirill
      25.08.2017 12:09
      +4

      Полагаю, дело не только в «культивации» расизма, но и, в равной степени, в том, что упоминания небелых рас (во всем разнообразии) чаще встречаются в контексте преступлений, нежели в контексте научных или иных достижений.


    1. vedenin1980
      25.08.2017 12:32
      +7

      Вы просто искажаете реальный мир. Получается практически цензура :)
      Ну или некая разновидность ограничений, когда люди говорят не то, что думают.

      Мир отдельного человека всегда искажен, частично потому что он не знает истины, частично потому что базовые инстинкты вступают в противоречие с моральными и социальными установками.


      когда люди говорят не то, что думают

      Люди почти всегда говорят не то, что думают и думают не то, что хотят на самом деле. Грубо говоря встретив друга с его красивой девушкой, вы не скажете, что хотели затащить ее в кровать. А инстинкты вообще могут подсказывать, что надо взять каменный топор, убить друга и утащить девушку в кусты.


      Получается ИИ симулирующий лицемерие

      Какому из реальных миров вы хотите учить компьютер — миру базовых инстинктов, морально-этикетных ограничений, социально-законодетельных ограничений или некоторому объективному миру (кто бы знал что это такое)?


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


  1. vidyacat
    25.08.2017 13:22
    -5

    Даже алгоритмы на бигдате говорят вам что все люди- не равны. Но леваки продолжают жрать кактус.


    1. vedenin1980
      25.08.2017 13:29
      +9

      Не верно.


      Алгоритмы на бигдате говорят, что большинство тех кто генерит тексты подсознательно считает людей неравными.


      Алгоритмы не анализируют объективную реальность, только тексты, написанные людьми. То есть максимум они могут говорить о наличие общественных предрассудков причем не у всех людей на Земле, а только тех кто пишет мало-мальски популярные тексты на английском языке (считай, журналистов, писателей и блогеров из англоязычных стран).


      Отсюда странно строить философские выводы, кроме наличие собственно предрассудков (возможно, даже не сознательных). А это сильно капитанский вывод, так как подобные предрассудки у людей ни для кого не секрет.


    1. Aingis
      25.08.2017 14:34
      +4

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


      1. Hardcoin
        25.08.2017 15:34
        +1

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


        1. vedenin1980
          25.08.2017 15:42

          Там все сложно на самом деле, скажем в английском языке времен холодной войны имя Иван негативное так как оно синоним советского коммуниста Ивана, естественно сейчас у людей в США отношение к Иваном не хуже чем к Петям, например. В русских текстах имя Билл скорее будет негативным из-за большого кол-ва новостей про Билла Клинтона, при этом это тоже не влияет на самом деле к отношению к людям с таким именем.


          А вот факт, что человек не местный и может уехать к родственникам — влияет.

          Так и надо оценивать не по имени, а по гражданству, месту рождения и т.п. Если родители совершенно русского человека дали ему имя Джон, почему к нему должно быть другое отношение при выдаче кредита?


          1. Hardcoin
            25.08.2017 16:37
            +1

            Имя, это как пример, на основе статьи. А место рождения — не расизм? Имя я хотя бы сменить могу, а место рождения — нет.


            И представьте, что вам надо решить, кому отдать свои деньги. Вы можете учитывать или не учитывать имя, как хотите. Но хотели бы вы закон, который запретит вам его учитывать? А так же место рождения или наличие генетических заболеваний (т.к. тоже притеснение). Ведь это ваши деньги, вы ими рискуете.


            P.S. если у автора речь о том, как можно убрать влияние некоторых факторов — это круто, жду следующую статью. Если речь о том, что оценивающее ИИ "не должно существовать" и никто не вправе его делать — то это ужасное ограничение.


            1. jex
              28.08.2017 13:31
              +1

              Но хотели бы вы закон, который запретит вам его учитывать? А так же место рождения или наличие генетических заболеваний (т.к. тоже притеснение). Ведь это ваши деньги, вы ими рискуете.

              Для конкретного человека (банкира) — это хорошо, он может учесть риски. Для общества — не очень, т.к. будет усиливаться расслоение и через пару десятков лет это превратится в проблему для всех и для банкиров в том числе.
              Т.е. выдавать или не выдавать кредит по месту рождения или тем более по заболеваниям — не должно учитываться. При этом никто не запрещает использовать эту информацию чтобы застраховать риски.


        1. Aingis
          25.08.2017 15:43
          +3

          А какое отношение имеет кредит к толерантности? Вот если при прочих равных будут отказывать в кредите из-за расы, например, успешному негру-бизнесмену, живущему на Манхэттене, то можно говорить о дискриминации. Но о таких случаях не слышно. Банки учитывают все доступные факты (включая кредитную историю, между прочим), и они тоже подвержены влиянию окружения, полного равенства достичь практически невозможно.


          1. Hardcoin
            25.08.2017 16:39
            +1

            Прочие равные — это условность. Да целых числа можно сравнить на равенство. Найти двух одинаковых людей в одинаковых ситуациях не выйдет, даже если они близнецы.


            1. Aingis
              25.08.2017 16:51

              Ну, здесь невозможно оценить всё. Банки руководствуются конечным (и не очень большим) числом критериев, так что схожие условия (вплоть до идентичности у близнецов) вполне возможны. Тем не менее для представителей разных рас в среднем они будут разными, что делает увязку дискриминации и кредита бессмысленным.


              1. marshinov
                26.08.2017 11:03
                +1

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


      1. datagenerator
        25.08.2017 17:33

        ИИ на бигдате копирует образ мышления людей. Люди не всегда мыслят толерантно, и уже тем более пишут. Логично, что и ИИ, построенный на нецензурированной информации, будет мыслить с расовым уклоном. Было бы интересно испытать один и тот же алгоритм на разных корпусах текстов, например, блоггерском, юридическом и журналистском. Результаты были бы ой как разными


        1. Aingis
          25.08.2017 18:40
          +3

          Боюсь, в последних двух (при качественных источниках) не удалось бы сделать исходную задачу: выявить тональность.


  1. Big_Alex
    25.08.2017 13:24
    +2

    Получается, что как ни крути, а у любого ИИ будет некая погрешность на какие-то субъективные мнения и стереотипы, так как обучающие выборки изначально содержат такие погрешности…
    встаёт вопрос о возможности беспристрастного создания обучающих выборок…
    но опять же… если ИИ немного расист — значит это кому-нибудь нужно… 0_о

    А в целом мне как новичку статья была интересна… жду с нетерпением вторую часть… )))


    1. kichik
      25.08.2017 14:27
      +3

      Вопрос как раз в том, как крутить и до-(пере-)обучать так, чтобы 1) эти погрешности и заложенные в данные перекосы выявлять, 2) найти разумный компромисс между условной справедливостью и точностью (это отчасти математическая задача) и 3) договориться в обществе об ответственности за алгоритмы, данные и модели (это на стыке компьютерных наук, законотворчества и этики).


    1. Hardcoin
      25.08.2017 15:20
      +1

      Можно ли назвать выборку без расизма беспристрастной? Как видим, если никак на выборку не влиять (не это ли определение беспристрастности?) — тональная оценка имён появляется сама. Интересно, какое решение будет применяться в следующей статье


      1. mayorovp
        25.08.2017 16:27

        Вот только задача-то заключается не в получении беспристрастной выборки — а корректного ИИ. В данном случае, используемый алгоритм обучения оказался неспособен преобразовать первое во второе.


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


        1. Hardcoin
          25.08.2017 16:41

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


  1. erwins22
    25.08.2017 13:59
    +1

    Был фильм(или книга, не помню), где после создания ИИ тот принялся ликвидировать в СШа рабство, просто убивая всех негров, он сделал такой вывод из обучающих текстов.


  1. impetus
    25.08.2017 14:16
    -2

    По сути вы с полномочиями Бога-Творца на этапе самого раннего генеза обучаете будущий ИИ двойным стандартам.
    (Если кто не знал — по современным американским реалиям фраза «Все жизни значат» является расисткой, а «Чёрные жизни значат» — нет.)
    Как бы «в БИОС» это дело прописываете, в очевидные базовые несомненные, саомочевидные принципы/аксиомы.

    Вспоминая, что в другом подразделении вы же обучаете «другой» ИИ в реальном времени распознавать человеческие эмоции —
    Маск, с его опасениями по поводу возможной враждебности человекам будущих ИИ — очень, очень даже прав.


  1. JekaMas
    25.08.2017 16:46

    А может оценка ML алгоритма, как раз точна? В том смысле, что оценка близка к тому, как высказывание оценил бы человек. Такой вот неидеальные, политкорректный человек.
    Нет ли в статье того, что мы пробуем внести в работу некое априорное знание, которое отлично от тех, которыми, как правило, пользуются люди?
    Я не о рассизм-не расизм, а о том, что действия похожи на подгонку под ответ.


  1. alsii
    25.08.2017 19:28
    +1

    Насколько я понимаю ошибка здесь:


    Скачаем архив с веб-сайта Биня Лю и извлечем файлы лексикона, data/positive-words.txt и data/negative-words.txt.

    "Крошка сын к отцу пришел и спросила кроха...". И получила в ответ два списка. И быстренько рассортировала понятия.


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


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


    1. erwins22
      28.08.2017 15:16

      На самом деле алгоритм должен быть таллерантным, т.е. учитывать все данные одинаково. Например если 10 человек говорят синее небо, а один серобуромалиновое, то небо нужно воспринимать как любого цвета, в том числе синего и серобуромалинового и на всякий случай еще и черной радуги.


      1. alsii
        28.08.2017 15:38

        Странно говорить о толерантности, если мы пытаемся давать оценки. Оценка возможна только с определенной позиции. Если уж быть последовательно толерантным, то нужно вообще отказать от оценок. Но тогда некорректной получается сама постановка задачи :-)


        Толерантность может существовать не в фазе оценки, а в фазе выработки и реализации отношения к какому-либо явлению. Например: "Я считаю, что употреблять людей в пищу — плохо (оценка), но, уважая традиции племени Мумба-Юмба, я не стану осуждать и преследовать представителей этого племени за то, что они съели моего соседа, а теперь поглядывают облизываясь на меня (отношение)".


        1. erwins22
          28.08.2017 17:31

          Нейросеть должна избегать оценок. (вы же понимаете что я не думаю что такое возможно сделать?)


          1. alsii
            28.08.2017 17:39

            Но data/positive-words.txt и data/negative-words.txt. — это оценка!


            1. erwins22
              28.08.2017 18:34
              -1

              В этом то и ошибка. Надо делить на толерантно и оскорбительно.

              Негр — это оскорбительно. Но негр никак не позитивно или негативно.
              (шучу?)


              1. mayorovp
                28.08.2017 19:08

                Негр — это нормальное нейтральное слово, означающее всего лишь цвет кожи (объективный признак). В отличии от nigger, которое в приличном обществе недопустимо.


              1. alsii
                28.08.2017 19:13
                -1

                А теперь возвращаемся к началу статьи.


                Анализ тональности — очень распространенная задача NLP, что совсем неудивительно. У системы, которая способна понять, положительный или отрицательный комментарий оставил человек, есть множество применений в бизнесе.

                Мы имеем дело с реальными людьми, которые оставляют отзывы. Если эти люди используют слово "негр" для отрицательной характеристики (например "там одни негры едят"), то мы либо признаем слово "негр" отрицательным и делаем вывод, что людям это место не нравится, либо толерантно считаем его нейтральным и не учитываем отрицательные отзывы нетолерантных посетителей. Ну в самом деле, если он не толерантен к неграм, то видимо и в еде полный профан ;-)


                1. mayorovp
                  28.08.2017 19:17
                  +1

                  Отзыв "там одни негры едят" больше напоминает некоторый факт чем мнение о качестве пищи. Такой отзыв не следует учитывать ни как положительный, ни как отрицательный пока не определены предпочтения целевой аудитории, в интересах которой дается оценка (в частности, как они относятся к неграм за соседним столиком).


                  1. alsii
                    28.08.2017 19:30
                    +1

                    Хм… Для меня это звучит как "[еда там такая отвратительная, что] там одни негры едят". Негров можно заменить на название любой другой группы, к которой посетитель относится отрицательно. Например может быть написано "Продавцы — пи****сы!". И нам нужно как то понять, что человек не испытывает восторга от того, как его обслужили. И сделать это можно только отмаркировав слово как отрицательное, как бы нетолерантно это ни было. Об этом вроде и идет речь в статье.


                    Default целевая аудитория для того, кто оставляет отзыв — люди его круга как правило с совпадающими взглядами.


                    1. mayorovp
                      28.08.2017 19:35
                      +1

                      Тем не менее, одинокая фраза "там одни негры едят" без контекста неотличима от описания факта.


                      Я говорил о целевой аудитории алгоритма, а не о целевой аудитории оставившего отзыв. Они совпадать не обязаны.


                      1. alsii
                        29.08.2017 13:10

                        Тем не менее, одинокая фраза "там одни негры едят" без контекста неотличима от описания факта.

                        А вот о проблеме контекста я в самом первом комментарии писал.


                        Я говорил о целевой аудитории алгоритма, а не о целевой аудитории оставившего отзыв. Они совпадать не обязаны.

                        Более того, они в принципе не могут совпадать. т.к. оставивших отзывы много, и ЦА у каждого своя.


                1. Alexeyco
                  29.08.2017 18:46
                  -1

                  Ну в самом деле, если он не толерантен к неграм, то видимо и в еде полный профан
                  Расист!


                  1. alsii
                    30.08.2017 13:13

                    Расист!

                    Нет. Я просто толерантен [в том числе и] к тем, кто не толерантен к неграм.


                    Так и захотелось переиначить известный анекдот
                    • Скажите, а вы абсолютно ко всем толерантны?
                    • Да, я абсолютно ко всем толерантен.
                    • А к тем, кто к вам не толерантен, вы тоже толерантны?
                    • Нет, к ним я не толерантен.
                    • Простите, но тут получается некоторая неувязочка...
                    • А я толерантен к вашей неувязочке!


  1. t_arm
    25.08.2017 19:46
    +3

    Ждём продолжения. Было бы интересно прочитать как они собираются научить ИИ врать и лицимерить.


    1. kraidiky
      25.08.2017 22:57
      +2

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

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


    1. alex4321
      25.08.2017 23:03
      +1

      Ну, строго говоря — где тут ложь и лицемерие? Оценки определённой нации и оценки национальной кухни — две разные оценки же.

      Другой вопрос — нет ли возможности решить вторую задачу данными, не затрагивающими первую (тут с этим и проблема же).


      1. Alexeyco
        28.08.2017 06:52

        Я вообще думаю, что лгать и лицемерить — глупо. Как глупо заниматься вот этим вот занятием, чтобы ни дай бог ИИ чего лишнего бы не сказал. Нечего, как говорится, на зеркало пенять коли рожа крива. Вспоминается «Софья Петровна» Лидии Чуковской. Там в центре произведения Софья Петровна, которая сдуру вместо «Красная армия» написала «Крысная армия». И заверте…


        1. vedenin1980
          28.08.2017 15:32
          +1

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


          Понравится вам это?


          1. Alexeyco
            28.08.2017 17:27

            Вообще нет. Но если честно, я обижаться вообще не стану.


            1. vedenin1980
              28.08.2017 17:41

              И будете покупать товар как в ничем не бывало?


              Ну хорошо, вы не обиделись, а ваша спутница (скажем, жена) начала ругаться, требовать менеджера, требовать от вас разобраться "ты мужик или не мужик, или ты тоже считаешь меня толстой страшной коровой?".


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


              Вы все еще хотите, чтобы ИИ никогда не лгали и не лицемерили?


              1. michael_vostrikov
                28.08.2017 20:54

                В вашем примере нет никаких причин, чтобы электронный консультант магазина сказал такую информацию покупателю. Не говоря уже о том, что технически название «корова» по отношению к человеку это ложь. Если ИИ не будет лгать, то и говорить так не будет.

                Кроме того, «не сообщать информацию» означает «лгать» только если «сообщать информацию» было обязанностью того, кто не сообщил. Иногда это моральная обязанность, например обязанность как друга в ситуациях типа «ты не сказала, что он мне изменил, да как ты могла». В обязанности консультанта не входит негативная оценка покупателей.


                1. vedenin1980
                  29.08.2017 10:27

                  Не говоря уже о том, что технически название «корова» по отношению к человеку это ложь.

                  Это не ложь, это устойчивое фразелогическое выражение, ИИ должен уметь их понимать и ими пользоваться иначе его речь будет не естественной.


                  В вашем примере нет никаких причин, чтобы электронный консультант магазина сказал такую информацию покупателю

                  Пример утрированный, но предположим женщина примерила одежду и спросила ИИ "мне подходит", 100% честный ответ будет "конечно нет, у тебя же ноги кривые и толстые, да сама ты центнер весишь, это безвкусица носить лосины такой толстухе как ты", думаете он понравится? Или все-таки предпочтительнее ответ вида "знаете мне кажется эта модель вам не совсем подходит".


                  От компьютера я вообще не вижу причин принимать оскорбления.

                  Вопрос не принимать оскорбления или нет, вопрос в том что ИИ должен знать что и когда можно говорить. Человек изначально обладает эмпатией и он не будет вспоминать про недавно умерших родствеников другого человека (или про того с кем человек развелся недавно и сильно страдает), например, если понимает что это может быть неприятно. С ИИ который не умеет "лицемерить" (на самом деле, проявлять эмпатию) будет очень тяжело общаться.


                  1. michael_vostrikov
                    29.08.2017 13:36
                    +1

                    Это не ложь, это устойчивое фразелогическое выражение, ИИ должен уметь их понимать и ими пользоваться иначе его речь будет не естественной.

                    Я ни разу не слышал, чтобы консультанты в магазинах говорили такие выражения покупателю, но тем не менее мне их речь кажется естественной.


                    честный ответ будет "конечно нет, у тебя же ноги кривые и толстые, да сама ты центнер весишь, это безвкусица носить лосины такой толстухе как ты"

                    Это не честный ответ, это грубый ответ. Честный ответ будет просто "Нет". На вопрос "Почему?" честный ответ будет "У вас полное телосложение. Среди людей есть общепринятое мнение, что лосины людям с полным телосложением не подходят. А я вообще робот и не разбираюсь."


                    С ИИ который не умеет "лицемерить" (на самом деле, проявлять эмпатию) будет очень тяжело общаться.

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


                    1. vedenin1980
                      29.08.2017 20:27

                      Не говорить неприятную информацию не является лицемерием. Нет никаких причин ее говорить, пока не задан прямой вопрос.

                      Ок, то есть


                      1. не говорить женщинам и чернокожим, что они статистически уступают в умственной деятельности белым мужчинам, пока они явно не зададут вопрос — не является лицемерием, а только вежливостью,
                      2. не употреблять в речи слова папа или мама, а использовать первый родитель и второй родитель, чтобы не обидеть собеседника, если он принадлежит меньшинствам — не лицемерие, а только вежливостью,
                      3. не рассказывать детям, что для их рождения нужны мужчина и женщина и вообще о том что такое традиционная семья, чтобы не обидеть их, если они выросли в однополой семье — тоже вежливость,
                      4. Кстати про атеизм лучше тоже не рассказывать если не спросят — ведь можно обидеть тех кто верит, правильно?

                      То есть даже самый ультратолерантный ИИ можно создать просто используя "вежливость" (мы же не хотим никого обидеть) и это не будет по вашему лицемерием, правильно?


                      P.S. На всякий случай, я ничего не имею против любых меньшинств, мне просто интересно почему задавание "вежливости" ИИ вам кажется нормальным, а установка ИИ нормы "толерантности", чем-то ли лицемерным. Тут уж или крестик снять или трусы надеть...


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


                      1. michael_vostrikov
                        30.08.2017 01:57
                        +1

                        не говорить женщинам и чернокожим, что они статистически уступают в умственной деятельности белым мужчинам, пока они явно не зададут вопрос — не является лицемерием, а только вежливостью

                        А какая разница конкретной женщине и конкретному чернокожему, что большинство не склонно к научной деятельности? Может эта конкретная женщина или чернокожий в это большинство не входят? Зачем им эта информация.


                        не употреблять в речи слова папа или мама, а использовать первый родитель и второй родитель, чтобы не обидеть собеседника, если он принадлежит меньшинствам — не лицемерие, а только вежливостью,

                        Если конкретному человеку не нравятся слова папа и мама, нет никаких проблем использовать другие. Это просто договоренность по использованию терминов. Просто папа и мама это общеупотребительные термины.
                        И стремление не обидеть сложно назвать лицемерием. Это наоборот проявление заботы. Если оно не связано с обманом.


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

                        Это не является вежливостью, это просто обман. Такому человеку будет сложно адаптироваться вне общества, которое поддерживает такой обман. И почему они должны обидеться на законы биологии? Вы же не обижаетесь, что ваши далекие предки были обезьянами.


                        Кстати про атеизм лучше тоже не рассказывать если не спросят

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


                        Вы почему-то приравниваете грубость к честности и вежливость к обману, а это не так. Грубость это форма подачи информации, а не ее содержание. Можно сказать "толстая корова", а можно сказать "имеет лишний вес". Информация одна — у этого человека лишний вес.


                        Ну и да. Лицемерие — несоответствие слов, поступков человека истинным чувствам, убеждениям, намерениям; притворство. У компьютера нет истинных чувств или убеждений, значит и притворяться ему не надо.


                        мне просто интересно почему задавание "вежливости" ИИ вам кажется нормальным, а установка ИИ нормы "толерантности", чем-то ли лицемерным

                        Это вы начали про лицемерие. Я говорю, что ИИ должен сообщать факты в максимально нейтральном тоне, и желательно только если от него требуется ответ. Особенно консультант в магазине.


              1. Alexeyco
                28.08.2017 21:16

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

                И давайте еще не будем забывать, что мы вообще говорим об ИИ. От компьютера я вообще не вижу причин принимать оскорбления. Скажу, что я пердохал мамку компьютера когда это еще не было мейнстримом, если совсем припечет. Но бегать, жаловаться, вопить, оскорбляться — это не мой выбор.


              1. Alexeyco
                28.08.2017 21:41

                У меня есть пример замечательного бытового сексизма. Пришел один мой дальний (совершенно реальный) знакомый домой. И увидел там, как жена резвится с любовником. Обоих выкинул, развелся. А потом решил куда-то поехать за границу и обнаружил, что он алиментщик. Бывшая жена родила ребенка от не пойми кого и повесила на бывшего (уже) мужа, пользуясь правилом 300 дней. Я думаю, что борьба с этой дискриминацией гораздо важнее борьбы против того, чтобы ИИ не сболтнул чего лишнего.


          1. Alexeyco
            28.08.2017 17:32

            Я что хочу сказать. Вот мое мнение, что надо создавать вокруг себя максимально адекватную обстановку. И к примеру, ваши предки были помещиками, а мои — крепостные. Не будет ли глупостью мне сегодня ненавидеть вас? Я имею в виду, да — если вы скажете мне «холоп», я отмечу это и запомню, что вы не вполне контактный человек. Но если у вас не будет злого умысла и вы что-то такое произнесете, ну какие проблемы-то? Я считаю, что скорбеть о тяжкой судьбе предков можно бесконечно. А можно заняться каким-нибудь интересным занятием. Созидательным.


            1. vedenin1980
              28.08.2017 17:48

              надо создавать вокруг себя максимально адекватную обстановку

              Проблема в том, чтобы создавать "максимально адекватную обстановку" нужно тоже лгать и лицемерить (по крайне мере, в мелочах), это называется чувство вежливости.


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


              Невозможно общаться в людьми без некоторого этикета и вежливости, которое включает в себя небольшую долю лжи и лицемерия. И ИИ тоже не сможет адекватно общаться людьми, если не будет знать что и когда (и кому) нельзя говорит.


              1. alsii
                28.08.2017 19:19

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


              1. Alexeyco
                28.08.2017 21:24

                Послушайте, у меня нет никаких причин, чтобы называть кого-то жирной. Мне все равно, жирная, худая (я имею в виду, в принципе… так-то я люблю худеньких барышень). Но вспомните себя — когда вы кого-то оскорбляли намеренно, разве это не было признаком беспомощной злости? У меня именно в этом всегда была причина. Можете верить или не верить, но я с определенного момента разговариваю культурно даже с самыми гопистыми гопниками. И вот нахожу общий язык.

                Но когда мы говорим о фанатичной политкорректности — с моей точки зрения, это маленький шажок к гулагам. Так думать можно, так думать нельзя — выбирай. Это глупость. Меня, например, не так давно негр на Пушкинской назвал беляшом. Ну и что, я должен бежать писать на него заявление в полицию? Это глупость, а не что-то другое.


                1. vedenin1980
                  29.08.2017 10:35

                  но я с определенного момента разговариваю культурно даже с самыми гопистыми гопниками. И вот нахожу общий язык.

                  Потому что вас научили вежливости родители, поверьте вы не говорили бы культурно, если бы вас этому не учили. Если вы думаете, что гопник выглядит и ведет себя как тупая обезьяна, вы скажет ему это? Или все-таки предпочтете немного лицемерия? Вот он вам говорит "ты думаешь я дурак"? Что вы ему ответите правду "да я думаю ты дурак" или добавите немного лицемерия, чтобы не попасть в больницу с тяжелыми телесными?


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

                  Девушка задает вам вопрос "Я толстая и страшная?", что вы ответите, если она реально толстая и страшная и знаете, что она очень сильно расстроиться (вплоть до истерики), если вы скажете "да".


                  говорим о фанатичной политкорректности

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


                  1. Alexeyco
                    30.08.2017 11:57

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

                    Все изменилось ровно в тот момент, когда я взахлеб стал зачитываться книжками по этологии. То есть, я, будучи сложной нейросетью, во-первых — логически пришел к выводу, что вежливость — это полезно лично для меня. А во-вторых, практически это подтвердил. И все — паттерн поведения переключился.

                    Даже судебная система при вынесении приговора руководствуется в т.ч. анализом того, был ли умысел. Если умысла не было — наказание, как правило, снижается (я о сферическом правосудии). Очень рекомендую в повседневной жизни при желании на кого-нибудь обидеться досчитать до 10 и подумать, был ли умысел. Если не было — обижаться нет никакого смысла. Если был — тем более, нужно не обижаться, а просто прекратить общение.

                    По поводу вопроса от девушки «я толстая и страшная» — я отвечу, что это провокация, что я это наглядно вижу и что на провокации я не поддаюсь. Наврал я? Нет. Ответил грубо? Нет. Всегда есть третий путь.


                  1. Alexeyco
                    30.08.2017 12:09

                    Кстати, о вреде вранья и лицемерия (а лицемерие — тоже ложь). Бейтсон ввел термин double bind (я бы перевел как «двойной смысл»). Это тоже ложь, т.к. ложь — есть несоответствие истине.

                    Пример такой лжи. Уставшая мать приходит домой, ребенок «мама-мама, ты обещала в кино, пойдем в кино?», на что она с сарказмом (как ей кажется) и очень нервно отвечает «Ага!». То есть, она фактически отказывает, а вербально соглашается. Если ребенок склонен к шизофрении, и вы хотите, чтобы он-таки ей заболел, то человечество ничего лучшего, чем double bind не придумало. Ответь мать «сынок, ну я устала, я понимаю, что обещала тебе, а обещания нарушать нехорошо, поэтому если ты позволишь, давай перенесем». И все — ребенок обязательно пойдет навстречу.

                    Так что врать — глупо, а чаще всего еще и опасно. Ложь всегда раскрывается, а если не раскрывается, то все равно вызывает подозрения и в итоге все летит под откос. Я вообще не вижу никакого смысла врать.


  1. kraidiky
    25.08.2017 22:53

    Интересно, что многие комментаторы на полном серьёзе говорят, что люди плюс-минус одинаковые (речь тут идёт не о правах — категории политической, а именно одинаковости) как аксиому с которой начинают свои построения. Как известно всё неафриканское человечество вышло из африки 200 миллионов лет назад, кстати, все наши предки были тогда неграми.
    Позволю чуть-чуть расширить фразу одного из величайших биологов и генетиков современности, одного из открывателей структуры ДНК, главы проекта «Геном человека»:

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


    1. alex4321
      25.08.2017 23:06
      +1

      «200 миллионов лет назад»
      Может всё же 200 тысяч? Да и то вроде придётся сократить на порядок.

      з.ы. других претензий не имею.


      1. kraidiky
        26.08.2017 00:21

        Ой да, описался конечно, 200 тысяч.


    1. vedenin1980
      25.08.2017 23:12

      Вы точно не описались? Может 200 тысяч, а не миллионов лет? Это примерное время появления видов более-менее схожих с человеком. Ну и десятки и даже сотни тыс.лет в переводе на поколения это несколько тысяч поколений. Для эволюции это относительно немного.


  1. sotnikdv
    26.08.2017 00:45
    +12

    Как причудливо меняются понятия. Понятие расизма и сексизма, как идея ультимативного превосходства в правах одной расы/пола над другой превратилось в понятие о том что расы и полы различны по набору способностей.


    И борьба за равные права и требование оценивать способности индивидуума безотносительно расы и пола (поддерживаю) превратилась в отрицание существования расовых и половых различий вообще (дебилизм какой-то).


    Когда я говорю, что черные в среднем лучше физически развиты, а белые в среднем показывают лучшие результаты в науке, это НЕ расизм. Расизм это когда белому бегуну присвоили первое место, а не лучшему черному. Или взяли на позицию аспиранта черного, т.к. квота, хотя белый был лучше.


    Когда я говорю, что мужчины более склонны к техническим наукам, управлению и более сильные, а женщины более выносливые, дают отличные результаты в биологии и гуманитарных науках — это не сексизм. Сексизм это ставить квоты на половой основе, сколько в коллективе должно быть женщин. Сексизм это выбирать кого-то на основе пола, а не способностей, в т.ч. на основе "склонны более к", а не индивидуальных результатах.


    Просто эта подмена понятий задолбала.


    Когда я говорю жене, что у мужчин в среднем лучше реакция и глазомер — это не сексизм, это реальность. И это не сексизм в моей семье, пока у нее есть право взять беретту в тире, стать рядом со мной, отстрелять мишень и сказать, что конкретно я в стрельбе лучше конкретно тебя, если конечно, сможет. И потом уехать на соревнования вместо меня, т.к. блин она лучше.


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


    1. mayorovp
      26.08.2017 10:01
      +1

      В целом с вами согласен, но почему вы этот комментарий написали именно сюда? Здесь-то речь идет о конкретном баге алгоритма оценивания, который делает ИИ расистом и нацистом.


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


      1. Wano987
        26.08.2017 10:38
        -1

        Есть: метаданные.

        Контингент кафешки: в итальянской собираются мафиози и чинно обедствуют до покушения, а в мексиканских забегаловках собираются жирные больные нелегалы, которые могут торговать веществами.

        (на основании серии игр GTA)


      1. Aingis
        26.08.2017 14:51

        Ну, вообще-то если людям мексиканская кухня нравится меньше, то это довольно объективная причина. Например, по идее «Басманный суд» должен звучать так же как и, скажем, «Савёловский суд», но по сути он стал именем нарицательным. Это единственный районный суд Москвы, про который есть статья в Википедии.


        1. alex4321
          26.08.2017 19:20

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

          Примерно как обучить в итоге алгоритм, который должен оценить, в том числе, другой объект (связанный с судом заметно опосредованно) в этом районе — но он будет занижать этому объекту оценку из-за наличия в выборке этого нашего самого басманного суда.

          Кстати, интересно — как корректно (в плане обоснованности и применимости результата, конечно) провести эксперимент? Навскидку могу предположить, что могла бы подойти замена упоминаний мексиканской кухни в связанной с ней подвыборке на другую и дальнейшая оценка объектов из тестовой выборки (к которой применена та же замена).


      1. sotnikdv
        27.08.2017 01:19
        +2

        Т.к. эта статья — органичная часть хайпа на тему расизма алгоритмов. То фотоаппарат не распознал лицо черного — это расизм фотоаппарата и создателей алгоритма. То чат-бот.

        И вместо нейтрального заголовка по мотивам вашего комментария, в духе «неочевидные корреляции приводят к учету национального признака при ранжировании» мы имеем «РАСИСТСКИЙ ИИ» !!!!!11111одинодинодин.

        Просто задолбало сование этого расизма во все щели. Как-то так.


  1. Alexeyco
    28.08.2017 06:46
    -1

    Мда… думаю, лет через 5 я приду к врачу. Например, к стоматологу, он посмотрит и скажет «ууу, да у вас один зуб альтернативно здоровый».