Pomagamy w prowadzeniu prac R&D i opracowujemy algorytmy machine learning
“Ermlab – powered by knowledge” to nie jest hasło reklamowe. Wierzymy, że wiedza, jej zdobywanie, odkrywanie oraz aplikowanie w praktycznych zastosowaniach jest kluczem do rozwoju firm, regionów oraz kraju. W DNA naszej firmy mamy zakodowane prowadzenie prac badawczych i aplikowanie zdobytej wiedzy w praktyce.
Prowadzenie prac R&D nie jest prostym zadaniem, kluczem do sukcesu jest poukładanie całego procesu w szereg po sobie postępujących etapów. Począwszy od zbierania danych, poprzez ich weryfikację po zaplanowanie szeregu eksperymentów, z których na bieżąco wyciągane są wnioski. Mamy już ponad 10-letnie doświadczenie w prowadzeniu prac badawczych, zebrane w grantach i projektach naukowych na uczelni i biznesie (NCN Narodowe Centrum Nauki, NCBR Narodowe Centrum Badań i Rozwoju). Współzałożyciele dr Krzysztof Sopyła oraz dr inż. Przemysław Górecki swoją wiedzę z dziedziny machine learning mają potwierdzoną licznymi publikacjami naukowymi.
Oferta w zakresie uczenia maszynowego
Jesteśmy w stanie Państwu pomóc przy opracowywaniu algorytmów uczących się na podstawie danych. Zakres naszych kompetencji obejmuje:
- analiza i przetwarzanie obrazu – rozpoznawanie twarzy, lokalizacja i detekcja obiektów na obrazach, segmentacja obrazu
- NLP – przetwarzanie tekstu – klasyfikacja, name entity recognition czy sentiment analysis
Opracowane przez nas rozwiązanie pomagamy zintegrować z systemami działającymi w Państwa firmie lub w nowym produkcie (aplikacja interntowa lub mobilna). Do tej pory pomagaliśmy naszym klientom budować systemy wspomagające przetwarzanie i przechowywanie dużych danych (tekstowych, obrazowych, medycznych, logów z pojazdów, danych z czujników).
Analiza i rozpoznawanie obrazów
Od 2012 roku nastąpił gwałtowny rozwój metod uczenia sieci neuronowych pozwalających na automatyczne rozpoznawanie obrazów. Dzięki zastosowaniu metod uczenia głębokiego (ang. Deep Learning) zadania, które wcześniej wymagały pracy człowieka można z dużym sukcesem przenieść na maszynę. Algorytmy uczenia maszynowego pozwalają na kategoryzację obrazów, lokalizację i detekcję obiektów na obrazach oraz ich segmentację. Zastosowania ogranicza tylko wyobraźnia, można tu przytoczyć kilka nieoczywistych przykładów: klasyfikacja ziaren i automatyczna ocena ich dokładności, automatyczne rozpoznanie jakości desek w tartaku, wyszukiwanie butów czy torebek wizualnie podobnych.
Przetwarzanie języka naturalnego
Dane tekstowe stanowią ogromne źródło wiedzy. Są one łatwo dostępne, jednak ich nieustrukturyzowana forma utrudnia wyciągnięcie istotnych informacji. Budowa języka a szczególnie polskiego wymaga zastosowania automatycznego wnioskowania z wykorzystaniem złożonych modeli obliczeniowych takich jak: sieci rekurencyjne, sieci konwolucyjne czy architektury wykorzystujące word embeddings. Obecne metody pozwalają na rozpoznanie sentymentu wypowiedzi (automatyczną ocenę komentarza, recenzji czy zapytania na czacie), wyciągnięcie nazwanych obiektów z tekstu (nazw produktów, zawodów, marek, lokalizacji, osób itp).
Jak wygląda proces?
Spotkanie i omówienie Państwa problemu (bezpłatnie) – na tym etapie rozmawiamy, aby określić zakres prac i czy nasze umiejętności pozwolą Państwu dostarczyć oczekiwaną wartość. Informujemy Państwa, jakie informacje będą dla nas potrzebne, aby zgłębić temat.
Zgłębianie zagadnienia (płatne) – dostarczacie państwo niezbędne informacje w postaci dokumentów oraz danych, na podstawie których mamy stworzyć algorytm lub pomóc w jego stworzeniu. Rozmawiamy także z waszym zespołem (jeżeli istnieje) aby zobaczyć co do tej pory przygotował lub jak wygląda architektura systemu, z którym mamy się zintegrować.
Etap zbierania danych (opcjonalny) – w zależności czy dysponują Państwa odpowiednim zbiorem danych, czy nie, przygotowujemy narzędzia, które pozwolą w automatyczny sposób zebrać niezbędne dane np. teksty z blogów lub serwisów, otagowane zdjęcia itp.
Opracowanie prototypu algorytmu, eksperymenty z różnymi modelami – nikt z góry nie jest w stanie stwierdzić jaki model uczący zadziała w państwa przypadku najlepiej. Wymaga to szeregu testów i eksperymentów, rozpoznania kluczowych cech i wybrania optymalnych parametrów dla algorytmów. W tym etapie przygotowujemy dokument, w którym określamy jakie typy algorytmów będziemy testować i modyfikować, podajemy oszacowany czas i pracochłonność. Proszę mieć na uwadze, że wiele modeli uczenia maszynowego wymaga czasochłonnych obliczeń w zależności od ilości danych. Często jeden model może liczyć się kilka dni. Etap ten kończy się wybraniem najlepszego algorytmu i naszą rekomendacją do stosowania go.
Integracja z istniejącym systemem – mając wybrany optymalny algorytmy, należy go zintegrować z ostatecznym systemem. Często wymaga to przepisania prototypu algorytmu na język, w którym został stworzony Państwa system. Alternatywą jest stworzenie przez nas API, z którym państwa system będzie się komunikował.