Trochę niejasne to pytanie. Typowe rozwiązanie ML to z grubsza jakaś tam pajplajna do danych, gdzie zbiera się, replikuje i dostosowuje (np. przeskalowuje rozmiary obrazków) dane, dzieli training set, test set, validation set i jakaś maszynka statystyczna, która tych danych się nauczy i później będzie wykonywać jakąś tam klasyfikację, czy przewidywanie. Praktycznie zawsze trzeba zaimplementować część dostarczającą dane, zdefiniować jak te dane mają wyglądać na wejściu do ML. Później musisz wybrać algorytm wg. którego działa ML i jest tego od groma - regresje, sieci neuronowe, maszyny wektorowe, drzewa decyzyjne itd. Jak wybierzesz już algorytm którego chcesz używać, to musisz też zdefiniować jego parametry, np. topologię sieci neuronowej. Musisz też dobrać sposób jej uczenia - liczba powtórzeń, wielkość pojedynczej próbki itd.
Mniej-więcej tyle trzeba zrobić podczas implementacji jakiegoś rozwiązania ML. Resztę są w stanie ogarnąć narzędzia z frameworku. Zaletą najpowszechniejszego aktualnie DNN jest uniwersalność - czyli niezależnie od tego czy robisz rozpoznawanie obrazu, głosu, AI do gry w kółko i krzyżyk, czy przetwarzanie języka naturalnego, jesteś w stanie użyć tego samego zestawu narzędzi, zmieniając jedynie "obudowę" DNN i dostosowując jej topologię do zadania.
Czy w "normalnej pracy" robi się coś więcej? Raczej nie Jeżeli masz taki Tensor Flow, w którym definiujesz liczbę i typy warstw, ładujesz dane i działa, to po co masz marnować czas na implementację tego ręcznie.
W celach edukacyjnych / rozrywkowych zaimplementowałem podstawowy zestaw algorytmów ML schodząc do macierzy, pochodnych i MatLaba. Generalnie bardzo pouczająca zabawa, dająca dużo zrozumienia jak to działa.