Pull to refresh
17
0
Andrey Stepnov @jamm1985

Пользователь

Send message

Аспирантура это научная деятельность. Туда надо идти, если вы хотите заниматься наукой, открывать, доказывать и очень тяжело работать. В этом деле то же можно прилично зарабатывать, но для этого необходимо состоятся как учёный. Все сразу начинают сравнивать доход аспиранта с оплатой труда начинающего разработчика. Да, по началу такое сравнение не в пользу науки. Но со временем, ситуация меняется, доход растёт и (очень трудолюбивый) человек из науки может иметь сопоставимый доход, при том, что он занимается уникальными, интересными вещами, ездит по конференциям, сам решает куда ему двигаться и, возможно, окажется в одном из ведущих мировых университетов, где будет делать любимое дело до 70+ лет. Это как сравнивать людей, которые не захотели идти в университет и решили сразу зарабатывать руками. Сопоставим ли доход студента с доходом, например, профессионального сантехника? Нет. Но в перспективе всё меняется. С аспирантурой можно провести такую же аналогию.

Это работа вышла меньше года назад, но на неё уже 252 ссылки )

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

nvidia-smi
Mon Jan  3 03:52:14 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  Off  | 00000000:00:04.0 Off |                    0 |
| N/A   36C    P0    32W / 250W |   4241MiB / 16280MiB |     11%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
free -h
              total        used        free      shared  buff/cache   available
Mem:            25G        3.3G        198M         13M         21G         21G
Swap:            0B          0B          0B
cat /proc/cpuinfo

cpu MHz         : 2199.998
cache size      : 56320 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips        : 4399.99
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 79
model name      : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping        : 0
microcode       : 0x1
cpu MHz         : 2199.998
cache size      : 56320 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid
bogomips        : 4399.99
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 79
model name      : Intel(R) Xeon(R) CPU @ 2.20GHz
stepping        : 0
microcode       : 0x1
cpu MHz         : 2199.998
cache size      : 56320 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa
bogomips        : 4399.99
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

Это обычный Pro, тип машины с увеличенным объёмом памяти. Есть ещё машины на TPU, там памяти больше, но и возни с этим TPU тоже не мало.

Сейчас появился план Pro+, там обещают ещё более мощные ресурсы, выполнение блокнотов в фоне, большее время работы инстансов. Правда стоит это в 5 раз дороже - почти 50 баксов в месяц.

У меня Pro, но это не помогло )) Потому что у инстанса с GPU всего 120 GiB свободно. А обучение с диска на одну эпоху это в среднем час против 30 минут с локального хранилища. И ещё при обучении с диска в течении суток могут возникнуть ошибки с доступом к файлу и процесс прервётся.

Да, конечно. Собственно, защита диссертации это и было представление реализованной системы.

Там отдельны компоненты в разное время запускались, вот статьи по ним, если вам интересно

  • Новая архитектура автоматизированной системы сбора, хранения и обработки сейсмологических данных, 2013, ссылка

  • Автоматическая система на базе EARTHWORM для расчёта параметров очагов локальных землетрясений в режиме реального времени, 2016, ссылка есть только на переводной вариант.

Ну смотрите: даже чисто интуитивно, наша цель это каталог землетрясений на какой то наблюдаемой территории. В каталоге для каждого события обычно четыре параметра: координаты эпицентра, глубина и магнитуда. Даже если отбросить тонкости расчёта магнитуды, для 3-х неизвестных нам нужно минимум три станции. И чем больше станций, тем точнее вы определяете положение очага, что очень важно. Если у вас шумные станции, но вы можете снимать с них вступления, то всё ОК. Если их много, то у вас маленькие невязки при расчёте. Ещё есть всякие вещи, связанные с измерением ускорений грунта, это, с какой силой трясло. Эти измерения то же важны, и чем их больше - тем лучше.

Подробно про методы расчёта параметров очага можно здесь посмотреть (раздел 1.5). А в главе 3 рассмотрены вопросы оценки погрешностей в расчётах.

Такая практика распространена в Японии с финансированием на государственном уровне. Скважинные датчики действительно очень "тихие". И очень дорогие )) как сами по себе так и в обслуживании. За стоимость одного скважинного датчика можно поставить 10+ raspberry shake и получить плотную сеть, что гораздо важнее.

Спасибо за отзыв ) Работа не касается предсказания землетрясений как таковых. Усилия были направлены на выявление землетрясений которые уже произошли и попали на сейсмограммы.

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

Калифорнийский датасэт самый большой, содержит только локальные записи и очень качественно сформирован. Мы дополнительно к нему опубликовали два своих. Ещё есть STEAD.

выкинули дни с дождями меньше 45 мм? Ok, пусть (или какую-то ещё очистку производили?).

Вообще то 54 мм. Все значения проверили, можете сами посмотреть, там всё в порядке.

"Рассчитываем важность фичей с помощью SHAP". Я думаю это может вполне подсветить "черный ящик".

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

Очистку данных производили. Смотрите, пожалуйста, раздел таблицы после заголовка Data user for logistic regression.

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

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

Спасибо за отзыв!

Ну, с одной стороны, вы правы. С другой стороны, есть предупреждающие меры, а есть спасательные работы. Если уже 5 дней льёт дождь, и у вас есть в распоряжении прогноз погоды, то вы можете предсказать высокую вероятность оползней в городской черте. В этом случае, у вас есть время собрать силы и средства для возможных оползней: подготовить технику, проинструктировать спасателей и так далее. Передвижение готового отряда по городу - это часы. А если не подготовится и сойдёт много оползней, то до кого то помощь может во время не дойти.

В статье стоят авторы и аффилиация: ДВГИ ДВО РАН. В основном работа была выполнена силами сотрудников Сахалинского филиала.

Берем конкретный день, например, вчера 15 августа 2021 года. Смотрим показания метеостанции, а именно:

DR - суточное значение осадков за 15 августа;

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

CP - кумулятивное значение осадков с начала года.

Теперь мы ставим все эти данные с метеостанции в формулу выше и если левая часть больше либо равна 122 то оползень будет (по модели).

Кстати! Здесь есть один очень интересный момент. Если AR и CP равны 0, то что бы сошел оползень (по модели) за день должно выпасть 122 мм осадков! Этот вывод отмечен в статье. И это ещё один аргумент в пользу статистического подхода - мы можем использовать исходные коэффициенты регрессии для таких выводов.

Спасибо за оценку!

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

Здравствуйте! Спасибо за отзыв )

Построить ковариационную матрицу можно в excel, R и многих других инструментах. В основном это делается "автоматически" после соответствующей подготовки данных. Я использую python. В этом варианте с данными, на мой взгляд, наиболее удобно работать в pandas. Вот у них есть отличное руководство с примерами. После того как вы загрузили данные в DataFrame матрица строится одним простым методом. Ну а сами значения удобно рисовать функцией heatmap из пакета sns.

Вот пример для рисунка из статьи:

# print only rainfall correlation matrix
# clear plot object
plt.clf()
correlation_matrix_rainfall =\
    DATA[['total_rainfall',
          'cumm_year_rainfall',
          'antecedent_rainfall',
          'LANDSLIDE']].corr()
lables = ["Daily\nrainfall",
          "Cumulative\nprecipitation",
          "Antecedent\nrainfall",
          "Landslide"]
correlation_matrix_rainfall.columns = lables
correlation_matrix_rainfall.index = lables
plt.figure(figsize=(10, 8))
# fix bug with text alignment on y-axes
# https://github.com/mwaskom/seaborn/issues/1820
plt.setp(plt.gca().yaxis.get_majorticklabels(), va="center")
ax_1 = sns.heatmap(
        correlation_matrix_rainfall,
        annot=True,
        square=True,
        linewidths=.5)
plt.savefig("../FIGS/correlation_matrix_rainfall.png", dpi=600, format='png')
plt.close()

Наверное можно как то более изящно, но этот код кочует из одного скрипта в другой )

Так, я не понял, а где nnn? )) github.com/jarun/nnn
Статья интересная, про внутренний пакетный фильтр очень занятно. Хотелось бы добавить, что в клиентский конфиг желательно добавить опцию

remote-cert-tls server

для защиты от MitM акт это мастхэв.
1

Information

Rating
Does not participate
Location
Владивосток, Приморский край, Россия
Date of birth
Registered
Activity