Di Google tutorial MNist menggunakan TensorFlow , perhitungan diperlihatkan di mana satu langkah setara dengan mengalikan matriks dengan vektor. Google pertama kali menunjukkan gambar di mana setiap perkalian numerik dan penambahan yang akan digunakan untuk melakukan perhitungan dituliskan secara lengkap. Selanjutnya, mereka menunjukkan gambar yang sebaliknya dinyatakan sebagai perkalian matriks, mengklaim bahwa versi perhitungan ini, atau setidaknya mungkin, lebih cepat:
Jika kita menuliskannya sebagai persamaan, kita mendapatkan:
Kita dapat "membuat vektor" prosedur ini, mengubahnya menjadi perkalian matriks dan penambahan vektor. Ini bermanfaat untuk efisiensi komputasi. (Ini juga cara yang berguna untuk berpikir.)
Saya tahu bahwa persamaan seperti ini biasanya ditulis dalam format perkalian matriks oleh praktisi pembelajaran mesin, dan tentu saja dapat melihat keuntungan dari melakukannya dari sudut pandang kesederhanaan kode atau pemahaman matematika. Apa yang saya tidak mengerti adalah klaim Google bahwa mengkonversi dari bentuk tulisan tangan ke bentuk matriks "sangat membantu untuk efisiensi komputasi"
Kapan, mengapa, dan bagaimana mungkin untuk mendapatkan peningkatan kinerja dalam perangkat lunak dengan menyatakan perhitungan sebagai perkalian matriks? Jika saya menghitung perkalian matriks pada gambar kedua (berbasis matriks) sendiri, sebagai manusia, saya akan melakukannya dengan secara berurutan melakukan masing-masing perhitungan berbeda yang ditunjukkan pada gambar (skalar) pertama. Bagi saya, mereka hanyalah dua notasi untuk urutan perhitungan yang sama. Mengapa berbeda untuk komputer saya? Mengapa komputer dapat melakukan perhitungan matriks lebih cepat dari yang skalar?