Martin Fowler's _Patterns of Enterprise Application Architecture_ is excellent.
Remember, the best architecture is minimal architecture, because architecture is the fundamental, hard-to-change patterns in your code. So learn architecture, but also learn how and when to make it unnecessary.
Yes, your point of making it unnecessary is really important. When you see patterns, etc. for the first time, it gets very tempting to over engineer stuff.
There's a good book http://aosabook.org/en/index.html called the Architecture of Open Source Applications.
More generally, you might find it useful to read Christopher Alexander's Timeless Way of Building.