I finished writing first part of my JAX tutorials and published them on kaggle:
1. Introduction to JAX
2. Gradients and Jacobians in JAX
3. Automatic Differentiation in JAX
4. Just-in-time Compilation in JAX
You can access them via
@mervebebis
Bence bizim toplumun cinsiyet ayrımı gözetmeksizin genel gidişatı baya kötü. Her geçen gün toplumun yüksek bi yüzdesi, zeka ve kalite olarak geriliyor.
What are the main problems of R-CNN ?
1) R-CNN applies region proposal algorithm to the images not the feature maps to generate object proposals. Hence, each of these regions need to be passed to convolutional backbone one by one, which makes the model so slow at test time.
Transformers vs Convolution:
--------------------------------
Neural network architectures designed for dense prediction tasks like segmentation and depth estimation generally consist of an encoder to extract the feature representations of given input and a decoder to aggregate
I started to prepare JAX-Flax tutorial series in which end-to-end deep learning projects will be implemented by using Flax. These projects aim to introduce the concepts and features of Flax library:
1. Image Denoising with Autoencoders in Flax
Merhabalar;
Bugün beni takip eden herkese öncelikle teşekkür ederim, umarım yazdığım yazılar ve paylaştığım içeriklerden herkes keyif alır.
Şu anda medical AI alanında çalışıyorum. Alt başlık olarak 2 farklı çalışma konum var:
Deep ViTs and Attention Collapse:
In CNNs, more number of layers you add, it is more probable to improve model performance if you achieve to avoid deep architecture issues like model degradation, vanishing and exploding gradients. Skip-connections, residual learning, batch-norm
Generic MLP Design with Batch Norm in Google JAX-Flax:
------------------------------------------------------------
In the latest self-supervised models like DINO, multi-layer perceptron is commonly used inside the projection head, and it is mostly designed as batch-norm free in
RankMe for Self-Supervised Model Evaluation and Its JAX Implementation:
---------------------------------------------------------------------------
RankMe is a simple but effective method to eliminate the proxy requirement of self-supervision. It helps us to assess the
Encoder part of U-Net performs many convolutions and max pooling operations. While doing this, it extracts high level of features and patterns to be compressed into latent space representation. During this process, some low level patterns and details are lost.
Herkese merhabalar,
@demirbasayyuce
ile beraber hazırlamakta olduğumuz "Deep Learning Tips-Tricks" reposunda yeni bir sub-directory oluşturup, burada dilated convolution, ResNet ve DeepLabV3 modellerini çeşitli görsellerle anlattık, herkese iyi okumalar:
Medical Image Segmentation:
--------------------------------
Nowadays, the proposal of the latest segmentation approaches starts to convince the people that segmentation is completely solved, and quite simple in any case. However, it is actually NOT.
The segmentation of
Biomedical Dictionary:
Son zamanlarda, biomedical AI alanında çalışmak isteyen çok fazla kişiden mesaj aldım. Bu alan için gerekli biology temelini oluşturmak için birçok soru aldım. Özellikle, bu alanda yazılmış makaleleri okumak oldukça zor. Çok fazla bilinmeyen terim var.
@emaltic
Zaten bu kadar çok ürünü eş zamanlı kullanmak da doğru değil, bu aslında baya bilinçsiz bir kullanımın apaçık örneği olmuş. İnsan yüzü baya hassastır, yaptığı maske ve cilt yapılandırıcı krem yap vs sürse o yeterli. Farklı günlerde farklı ürünler kullanılabilir, fakat aynı gün
Training stage in JAX-Flax are represented by “train state” and “train step”. Their functional perspective rather than OOP approach is one of the characteristics that I really like in
#JAX
and
#Flax
.
@Onr_Gurel
@yirmiucderece
Fatih altaylı ağır saçmalamış, aziz sancar’ın disney’in varlığını bildiğinden bile şüpheliyim adamın hayatı bilim ne bilsin böle çöp şeyleri 😂
Multi-class vs Multi-label Classification:
In multi-class classification, the classes are mutually exclusive, so each sample can be categorized under only one class. Multi-label classification, on the other hand, lets the samples belong to multiple classes at the same time.
Şu an hazırladığım GitHub reposu üzerinden erişilebilir. Henüz yeni hazırlamaya başladığım için çok fazla içerik yok, ilk aklıma gelenleri hemen yazdım, umarım bu alanda çalışmak isteyen herkes için faydalı olur:
I prepared a GitHub repository called "Machine Learning and Optimization Theory". It includes a presentation for ML basics together with a coding session of human-brain age prediction by linear regression in JAX.
Self-Opinion about OOP and Functional Approach in Deep Learning:
------------------------------------------------------------------------
PyTorch is used by a huge community, and its usage is getting widespread more and more. How it is dominantly used and deployed is irrefutable.
@ezgiturali
Biraz inceledim, çok hoş bir github reposu yapmışsınız. Oldukça yararlı. Ben de ML ve DL için Jax ve Flax tutorial’ları yazıyorum. İlginizi çekerse buradan ulaşabilirsiniz:
@mstrYoda_
Söylediğinizde haklılık payı var ama bu söylediğiniz temel modeller ve temel task’ler için geçerli. Bir protein’in kanserle olam ilişkisini ve buna bağlı olarak dokudaki etkisini segmentasyonla analiz etmek istiyorsanız, yada dna regulatörlerini identify etmek istiyorsanız ++
@kadirnar_ai
@mstrYoda_
Bence her mimari tasarım için şart değil ama temel bazı koşullar var onlara dikkat ederek modeli tasarlamak lazım.
1) Büyük filtre kullanmak 7x7 yada 5x5 computational ve parametre açısından daha costly.
2) Padding kullanmak corner’ların daha iyi öğrenilmesini sağlar. ++
CNNs vs ViTs:
Self-attention layers are of global characteristics, so it has great capability of modeling long-range dependencies. On the other hand, convolutional architectures generally remain in local scope. Namely, they tend to learn local structures and neighborhood. ++
@guneytombak
Ben de bunu anlamadım zaten. İnsanların işini küçümsediğimden değil de sanki kanser research yada negative immune regulator araştırması yapıyorlar da bir de gelmişler 16 saat muhabbeti yapıyorlar. Biz bu kadar çalışmaya ihtiyaç duymuyoruz bunları yaparak, bunlar neyin kafasında
DETR learns to construct the interactions between the elements that it predicts in decoder. These interactions (cross-correlations) are strongly modeled and learnt as going through decoder layers in transformer, which enable multiple predictions for same object to be avoided.
Drug Discovery:
-----------------
Human diseases try to be treated by multiple drugs in today's health-care systems, because mono therapy, the usage of single drug, have several downsides, especially in oncology. Even viral and bacterial infections are stronger and tend to
@omergulenn
Ya zaten kendimizden insiyatif kullandığımız oluyor bazen işler rahatken az bazen artarsa çok çalıştığımız yoğunlaşan dönemler de illaki oluyor da bu işin belli bir sınırı ve çerçevesi var. Türkiyede bu zaten yok yani, sınır çarçeve fln kalmadı 😞
CNNs vs Transformers and UNETR:
Fully-convolutional neural networks can learn powerful feature representations, but they have difficulty to extract long-range dependencies. In other words, what they learn is not so global, actually more local-based.
Self-Supervision in Deep Learning
Self-supervised pre-training is expected to generate visual features at both image level for classification and also pixel level for segmentation. Assigning text-captions to images was the first attempt to have a successful pre-training
I prepared new Flax tutorial in my GitHub repository. TrainState and TrainStep are major primitives to carry out model training stage in JAX-Flax, so they have have an important role. To understand them in properly, you can follow this tutorial.
#Flax
Knowledge distillation is the process of transferring knowledge from pre-trained large model to a smaller one without any loss of validity. To achieve this, less-complex smaller model tries to imitate large and more complex model to generalize the data.
Self-Supervision and Its Proxy Requirement:
------------------------------------------------
Self-supervised learning (SSL) methods generally consist of a backbone and a projector. The backbone helps to extract high level feature representations, while projector converts those
Fast Fourier Convolution:
---------------------------
The feature maps extracted by convolution layers contain high frequency and base frequency features as correspondence to low-level details and general structure of visual patterns. The average proportion of high frequency
T-cell and Cancer Segmentation:
Ligands are a special molecule generated by signaling cells. They are bind to receptors located on the surface of target cells. In that way, these two groups of cells would communicate with each other.
Super-pixel generation is actually irregular tessellation of 2D image surface by grouping pixels with respect to their low-level, intensity and gradient based features.
DINO-V2 and ViT Register Tokens:
-------------------------------------
The compression of images into embedding feature vectors is a very common practice observed in transformer architectures, and it is also commonly applied by self-supervised models to learn generic and
@beyzipsg
Söylediklerinize katılıp el attırıyorum: DMax i açın, kanada’daki ev tamir tadilat işçilerinin 60% kadın, kaynak tutuyorlar, çatı temizliyorlar, dolap eşya monte ediyorlar 😂
Hani herkes böyle olsun yada böyle olmalı demiyorum yada spesifik bunu savunmuyorum. Şunu diyorum baya
Few comments on Grok-1 code release in JAX!
Looking quickly:
- model nicely written
- partition rules for sharding follow the old style of t5x
- they used haiku but it wouldn't be too hard to update to flax
- they use shard_map on the MoE layers for
@fkadev
Başka dillere geçiş için birçok yeni framework ve library introduce ediliyor, ama python-cpp bu noktada settle place. Bunun sebebi şu ki, AI vector-matrix multiplication’a dayanan bir alan, ve bunun için en kullanışlı ama aynı anda hızlı library’lerden birisi python-numpy. Cpp,
@itsafdeathwish
Katılıyorum, çocuğu bize yapıyorlar sanki. Ayrıca bugün çocuk yapınca yıl 2050 de çocuk 30 yaşında olucak. 2050 de insanlar sırtında oksijen tüpüyle dolaşacak, çok ciddi iklim krizleri ve savaşlar olucak. Hala ne bu çocuk yapma hırsı.
@mertcobanov
Yazılımcılardan daha fazla para kazanan başka meslekler de var. Özellikle yazılımcıları hedef alması saçma. Mesele zaten kim daha fazla kazanıyor değil, sevdiğin sana keyif veren işi yapmak.
Biz manyak mıyız, o kadar gradientlarla, backproplarla uğraşıp bir de bunun
@sutluyulaf
Benim sevgilim de yurtdışına taşınmak istemiyorum diye (ben taşınmak istiyordum) ayrıldık, şimdi bana yazıyor yurtdışı taşınma süreçlerinde evrakları nasıl hallettin diye, gerçekten hayat bazen caps gibi
@hbouammar
It is so nice and informative post. A couple of years ago, I wrote the relationship between bias-variance dilemma and regularization of ML in medium, which is quite parallel with yours:
Hello Everyone;
As you know, I have been working on some projects by using Google's numerical computing and deep learning libraries: JAX and Flax. Some people requested me to prepare some contents to clarify model training stage in Flax. I started to do it and ++
Hello Everyone,
@demirbasayyuce
and me have been maintaining a repository called "Deep Learning Tips & Tricks". To this repository, we created a sub-directory of "Dilated Convolution" to explain dilated convolution, ResNet and DeepLabV3 architectures:
@cansucavuldak_
Bana geçen birisi ulaştı, 4 years jax experience arıyoruz diye. 4 yıl önce jax’ın geliştirilmesine başlandı, son 2 yıldır kullanılabilir hale geldi, son 1 yıldır yeni versiyonlarıyla aktif kullanıma geçti. Cidden şirketler ne içiyorsa bana da versin ben de istiyorum
PTEN is a specific type of enzyme generated in human body as a part of phosphatase protein product. It is in charge of cell cycle regulation to avoid fast growing and constant dividing processes of cell structure.
CLU, standing for "Common Loop Utils", is a package introduced by Google. It is used with
#JAX
and
#Flax
in ML projects. It comes up with small modules and functionalities to make training loops shorter and easier without giving any sacrifice from flexibility.
Architecture Design Tips:
Concatenation of encoder features with their counterparts in decoder part by skip connection generally goes through 2 consecutive 3x3 convolution layers to be able fuse two different feature spaces successfully.
Autocurricula can produce more general agents...but can be expensive to run 💸.
Today, we're releasing minimax, a JAX library for RL autocurricula with 120x faster baselines. Runs that took 1 week now take < 3 hours.
Paper:
Solution for 3. Problem: Region proposal algorithm can be converted into a small network that can generate possible object locations. This makes it trainable and improvable. Then, this small network can be put at the top of convolutional backbone in R-CNN. (Faster R-CNN)
Initialization of MLP in Google JAX-Flax:
------------------------------------------
I simplified the design of MLP with respect to
@cgarciae88
's advice. Instead of defining a new class for batch-norm layer to also represent its non-existence, I use it with an if-statement in
Solution for 1. Problem: The entire image is passed to convolutional backbone, and region proposals are extracted from the feature maps not the original image. In that way, only one convolutional forward pass operates. (Fast R-CNN and SPP-Net)
SPP-Net and SPP Layer:
Fully-connected layers at the end of networks as target label predictor need to know how many number of features will be coming from output feature maps. This automatically creates fixed-size input constraint on convolutional networks.
@yigitdemirag
I started to study regulatory genomics two months ago, and I wanted to test my genomics models on Jax. I take similar results. What I mean is faster than I expected. I guess I will prepare a couple of tutorials about what I experienced on jax.
Gene Regulation 1:
8 histone proteins (2 copies of H2A, H2B, H3, and H4) come together to create histone octamer. Particular segment of DNA, which is 146-147 base pairs, is wrapped around this octamer 2 times. In that way, histones bind to DNA and a nucleosome is constructed.
Under JAX guide, you can find TF/JAX series of
@A_K_Nain
and 2 nice YouTube tutorials introduced by TensorFlow and Google Cloud Tech Channel. Besides, there are two important discussions to clarify some topics in JAX. I am dropping the link for it:
@demirbasayyuce
started a flood to discuss on the differences between transformers and convolutional architectures. Then, we decided to open a repository for this.
Colorectal Cancer - Endoscopic Procedures - Depth Estimation:
------------------------------------------------------------------
Early detection and thereby correct treatment of colorectal cancer mostly relies on complete diagnostic examination of the colon. At this point, the
DINO-V2 and Task Agnostic Feature Learning:
————————————————————
Task-agnostic feature learning is actually an attempt to learn visual or language-based features without supervision through particular task, and it is expected to lead neural networks to learn all possible feature
@kubraderlermis
Fonksiyonların parametre type’larını yazıp değişkenler için mantıklı isimler seçmeye çalışıyorum (python) ve fonksiyonları comment etmeye özen gösteriyorum. For ve if leri mantıklı şekilde gruplayıp aralarına belirli sayıda spacing vermeye çalışıyorum ama bu tarz çok fazla detay
@demirbasayyuce
1) CNN’lerde max pool yada strided convolution sayesinde feature map’lerin resolution’ı değiştirilebiliyor: 224x224 —> 112x112 —> ….
Bu aslında bize multi-scale yada diğer bir ifadeyle hiearchical feature maps sağlıyor. Buna benzer bir durum ViT’lerde maalesef yok. Bir ViT’de
The programming language Mojo claims that it is 68k times faster than classical python in machine learning applications.But, they did not make any comparison with
#JAX
Is there anyone who knows comparison between mojo and JAX
@SingularMattrix
@cgarciae88
@ezgiturali
Benden başka hiç kimse ciddi ciddi arxiv linki paylaşıp makale atmamış o yüzden bir tane daha atayım dedim.
Y-Net Spatial + Spectral Convolution for Image Segmentation:
Decorator "nn.compact" introduced by JAX-Flax eliminates the need to override a constructor in which all network layers are separately defined. The definition of layers and their usage to perform forward pass happens at the same time in call method by this decorator.
#JAX
#Flax
1) Retinal vessel ve ventral nerve cord segmentation
2) Histopathological image segmentation
Genel olarak bu konular üzerinde içerikler ve yazılar paylaşıyorum. Paylaştığım yazılar, okuduğum makalelerden yaptığım alıntıların kendi cümlelerimle ifadeleri biçimde oluyor.
Twitter’da çok ciddi bir şekilde günde 16 saat çalışma durumu yada 8 saat çalışıp en az 8 saat ekstra mesleki kendini geliştirme çabası beklendiğine dair videolar ve tweetler dolaşıyor. Bence bu çok fazla dikkate alınmamalı.
Self-Supervised Learning and RankMe:
General structure of self-supervised learning frameworks is the combination of a backbone like resnet variants or efficientNet and an MLP as a projector.
Gene Regulation 2:
Each histone protein has its own long amino-acid tail which can be modified. Posttranslational modifications that histones go through change how they interact with DNA. All four types of histone proteins in a nucleosome can be modified.
@Onr_Gurel
@theiddyll
Ya abi insanlar sağlık sistemini falan övüyor şoka giriyorum. İnsanlar Almanya’da randevu alamıyor, kolu kırılan kişiye 3-4 güne randevu verdiler birde kolunun kırıldığını anlayamamışlar. Burada çalışan doktor arkadaşlarım bile, türkiye sağlık sistemi çok daha iyi diye +
SPP-Net and Atrous Convolution:
Replacement of fully-connected layers by 1x1 convolution enables us to use any image size for input, but the first solution to this problem was actually spatial pyramid pooling. It applies pooling operation at several grid scales.
2) Training R-CNN is very slow and complicated. Each part of the model is trained separately, and then those parts are brought together to form entire architecture. Hence, they cannot learn from themselves. In other words, training of one part does not influence other parts.
@guneytombak
Katılıyorum, evrim ağacının kurucusu baya alev püskürmüş de sadece hayatları monoton olan, ekonomik sıkıntılar içinde olan insanları güldürsün yada anlık modunu değiştirsin diye konmuş bir şey. Ülkede tonla sorun varken buna mı tepki göstericez bu kadar.
Motivation behind Self-Supervised Learning:
Pre-training a learning model with a large dataset and then fine-tuning it for a downstream task is quite common practice. Neural networks are capable of learning complicated relationships, but the lack of sufficient annotated data is
Bu noktada yardımcı olabilmek, iyi bir temel oluşturabilmek ve makalelerin rahat okunabilmesi adına biology, pathology ve biomedical deep learning başlıkları altında bir sözlük hazırlamaya başladım. Makalelerde karşılaşabileceğiniz terimler ve temel konuları burada anlatıyorum.
@Onr_Gurel
Bu konular hakkında çok yorum yapmayı tercih etmiyorum ama bir iki bir şey yazayım dedim gene. Bizim toplumumuzda kadın erkek eşitliği denen şey, maaştan, statüten ve respect’den ibaret. Yani demeye çalıştığım şey, stereotype’ları hala korumak istiyorlar.
Segmentation models are mostly evaluated in terms of pixel-wise metrics such as accuracy, precision, and sensitivity. This kind of evaluation provides independent consideration of pixels for segmentation masks.
Registration of CT-scans to endoscopic video is actually a matching operation between pre-operative and intra-operative data. Endoscopic augmented reality systems adopt this approach to provide a good surgical visualization in endoscopy procedures. The performance of this
Multi-head attention, at first, multiplies a matrix of queries by a matrix of keys. This multiplication would actually determines how much the keys are similar to the queries by computing dot-product of each possible query-key pair.
3) Region proposal algorithm of R-CNN is not trainable; it is actually handcrafted approach (EdgeBoxes and Selective-Search). Even if it is designed to be a parameter-based trainable method, since it is not part of the network, the things learnt cannot be backpropagated to it.
@iremkomurcu
Sadece 2 haftadır, automatic differentiation’ın çalışma prensibini anlatıp TF ve torch’un hangi odakla backprop aldığını anlatmak için kaggle da documentation yazıyorum ve böyle bloglar görünce cidden o blogger’lar neyin kafasında anlamıyorum 😬
Self-supervised learning techniques construct and learn an embedding space by minimizing distances between embedding vectors of input images or just clustering them in a multidimensional graph.
@hbrkktby
Spesifik olarak bir grubu yada kitleyi mi kastetti ayyüce bilmiyorum, ama şunu biliyorum ki sürekli aynı yüzlerin tekrar ettiği bi gerçek özellikle türkiye gruplarında.
@zehraxcoskun
Şöyle bi yorum yapayım öncelikle ekim bey’in yorumu ve üslubu gerçekten pek hoş değil, ayrıca remote çalışmanın ciddi avantajları var, artık online remote çalışmanın iyice benimsendiği bir çalışma sistemini böyle eleştirmek doğru değil. Fakat dürüstçe söylemek gerekirse ++
@irem17700399
Ben de bu flood’a katılıyorum ama asıl anlamadığım şey herkes çok eleştri yapıp çok yüklenmiş. Anlamadığım şey, insanların niye eleştirdiği çünkü sayısal gerçekler var. Türkiye, istanbul = 14k kira, 36k maaş. Almanya, munich = 1.3k kira, 3.5k maaş. Yani kira/maaş oranı aynı.
Tracking by detection is a paradigm which splits object tracking process into two steps:
1) Object Detection
2) Data Association
First of all, a pre-determined object detector is applied to the frames of video sequence to localize the objects in those frames.